はじめに
テストコードを書いていて、エラーメッセージを表示させるようにしたときに、わからなかったことなので、記録として残しておく。
エラーメッセージの表示方法
viewディレクトリに
_error_messages.html.erb
<% if model.errors.any? %>
<div id="error_explanation" class="alert alert-danger">
<ul>
<% model.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
を作成し、renderメソッド
で呼び出すようにする。
1行目のmodelは、今回データベースに何かを登録する場面を想定しているため。
呼び出す側のコード
<%= render 'error_messages', model: f.object %>
ファイルの位置によって、shared/error_messages
のように指定してあげる必要がある。