Tayatter

タヤのつぶやき

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を定義