はじめに
フォームの入力で、バリデーションで失敗した際に、エラーメッセージを表示させると思います。
その場合、デフォルトだと英語になります。
日本語で表示させるためには、設定が必要なのと、メッセージも自由に記載することができます。
今回はその内容をアウトプットいたします。
設定
config/application.rb
に、以下を記載いたします。
config.i18n.default_locale = :ja
続いて、config/locales/ja.yml
に記載いたします。
ja:
activerecord:
attributes:
hoge_model:
fuga_column: 'fugaカラム'
errors:
models:
hoge_model:
blank: '%{attribute}は必須項目です'
attributes:
fuga_column:
taken: '重複しています'
invalid: '不正です'
activerecord:
に続く、attributes:
配下に、モデルとカラム名を記載します。
そうすると、記載の通りのカラム名が返ってくるようになります。
これで、モデルのカラム名を日本語化することができるようになりました。
また、errors:
に続くよう、モデルとエラー内容を記載すれば、そのバリデーションエラーになった際、記載のメッセージが表示されるようになります。
- blank:
presence: true
- taken:
uniqueness: true
- invalid:
format: { with:...
上記のようなバリデーションがあった際に、ja.ymlで設定していると、該当のメッセージを返してくれます。
ここで、設定したいオリジナルを設定しましょう。
バリデーションのメッセージは、モデル自体にも設定できますし、カラムごとに設定することもできます。
まとめ
ja.yml
は、かなり汎用性が高いです。
ここでアプリケーションに沿った内容を設定して、適切なメッセージを表示するようにしましょう。
最後までご覧いただき、ありがとうございました。