はじめに
今まで知らなかったことを最近知って、おおって思ったので置いておきます。
サンプルコード
以下のようなコードについて書いています。
<%= simple_form_for(project, html: { class: 'form-horizontal' }) do |f| %>
<%= f.error_notification %>
<%= f.full_error :owner_id %>
<%= f.input :title %>
<%= f.input :content %>
<%= f.button :submit %>
<% end %>
エラーメッセージに主語がない
https://suin.io/546
こちらを見たりすると良いですよ(良記事多謝)。
私は simple_formの設定で対応する方法
でやっています。こちらの方が元々用意されていたものに乗っかる感じがして好きだからです。これで full_error
というワードがあることを知りました。
画面に表示項目がない時にエラーメッセージが出せない
内部的に利用している情報が返すエラーについて握りつぶされてしまうと思っていました。ですがそれは間違いだと知りました。
ちゃんと用意されているんですよ。
= f.error :field_name
と書かれているのを見て、もしや...と思い
= f.full_error :field_name
としてみたら見事に主語のついた内容で表示できました。