エラーメッセージのパーシャル作成
ユーザーの新規登録や掲示板の作成時に、「○○を入力してください」というフラッシュメッセージを表示したいが、複数のビュー画面で表記したい。
効率的に表記するためにパーシャルを作成する。
すでにモデルにバリデーションは記載してあるので、続きからの手順をメモしておく。
<手順>
♡(今回は事前に行っている状態だが、モデルにバリデーションを設定しておく)
♡エラーメッセージのパーシャル作成
♡表示したいビューに埋め込んでいく
①モデルにバリデーションの設定がなされているか確認
app/models/board.rb
class Board < ApplicationRecord
belongs_to :user
mount_uploader :board_image, BoardImageUploader
validates :title, presence: true, length: { maximum: 255 }
validates :body, presence: true, length: { maximum: 65_535 }
end
設定できているので、次にすすむ
②エラーメッセージのパーシャルを作成する
<% if object.errors.any? %>
<div id="error_explanation" class="alert alert-warning">
<ul>
<% object.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
③表示したいビューに埋め込んでいく
新規登録画面と掲示板作成画面に以下のように埋め込む。
object: f.objectとすることで、流用する際にそのまま使えて便利になる。