発端
- Nameを入力してください。
- Emailを入力しください。
- Passwordを入力してください。
Railsでは上記のように、エラー文の先頭に必ずモデルの属性名が表示されてしまいます。
(今回は、属性名の日本語化が本題ではありません。)
しかし、先頭にモデルの属性名をつけたくない場合やエラーメッセージをカスタマイズしたい場合、このままでは不都合です。
解決策
config/locales/ja.yml
ja:
errors:
format:
"%{message}"
config/locales/ja.yml
に上記を追記してください。
デフォルトの属性名が、"'%{attribute}' %{message}"
になっているため、
フォーマットをオーバーライドすれば良いようです。
様々、カスタマイズすることも可能ですね!
参考
[Rails 6 allows to override the ActiveModel::Errors#full_message format at the model level and at the attribute level]
(https://blog.bigbinary.com/2019/04/22/rails-6-allows-to-override-the-activemodel-errors-full_message-format-at-the-model-level-and-at-the-attribute-level.html)