RubyonRails:検証ツール"validates"他 #Progate #RubyonRails5 V
・validates 検証ツール
Postモデル内に記述
文法:
validates :content, {presence: true}
validates :content, {length: {maximum: 140}}
・if文を使って、成功時と失敗時のアクションを分ける。分岐。
・redirect_to とrenderの違い
redirect_to:HTTPリクエストをサーバーに送り、HTMLをgetする
自サーバー送信時は、routeに繋がる。
render:Action 内で使用。view単体を呼び出すのに使う。
render記述式 render("フォルダ名/ビュー名(拡張子省略)")
・エラーメッセージについて
rubyのエラー表記:変数.errors.full_messages
変数に対してエラー、フルメッセージアクションすることでエラー表記が可能。
・flashメソッド
中に入れたものを一瞬実行する。
<ページ作成>
新規投稿ページ
・validatesを満たさない時、画面を戻しエラーメッセージを表示させる
・validatesを満たさない時、画面を戻し同時に直前の内容を表示する
手順
(省略:画面を戻す)
・post.saveが失敗した時、エラーメッセージを表示する式を書く
・post.saveが失敗した時、直前の内容を表示する式を書く
結果
・エラーメッセージの表示式を書く◯
・直前の内容を表示する式を書く◯
(※ミスポイント:@postに代入したが、textarea内に表示するのを忘れた)
以下、プラス必要な手順
・この状態だとnewルートにアクセスした際@postが空のためエラーになる。
→newアクションに@postを定義