rails6 エラーメッセージを日本語化する

rails6 エラーメッセージを日本語化する

rails6でrails-i18nを使用して、バリデーションのエラーメッセージを日本語化するまでの手順を記述してます。Railsのバージョンは6.1.1を使用してます。

環境

  • OS CentOS Linux release 7.9.2009 (Core)
  • Ruby 2.7.2
  • Rails 6.1.1
  • rbenv 1.1.2-40-g62d7798

rails-i18nインストール

Gemfileに以下を追加して、

インストールを実行します。

アプリケーション作成

まずは、scaffoldを使用してアプリケーションの雛形を作成します。

テーブルも作成しておきます。

バリデーション設定

「app/models」配下にある「foo.rb」に以下の内容を追加します。

ここでは、titleを必須項目として未入力にでるエラーを日本語化して表示します。

titleを未入力の状態で「Update Foo」をクリックすると、

エラーメッセージは英語のままとなります。

日本語化

日本語化するには、まず「config/locales」配下に「ja.yml」というファイルを以下の内容で作成します。

次に「config」配下にある「application.rb」に以下を追加します。

これで後は、railsを再起動すれば日本語化されます。

別の方法

以下のように、カスタムバリデーションを使用して、日本語化する方法もあります。