LoginSignup
6
11

More than 3 years have passed since last update.

translation missing〜 エラーについて

Last updated at Posted at 2020-04-09

はじめに

作成した個人アプリのテストを行っていた際にエラーが出てテストに失敗しました。
調べて解決出来たので、備忘のために残しておこうと思います。

エラー内容


Userモデルのバリデーションのテストをしていたら以下のエラーが発生し、テストに失敗しました。

translation missing: ja.activerecord.errors.models.user.attributes.nickname.blank

調べたところ、エラー内容としてはdeviseを日本語訳したファイルがないというエラーのよう。
(gem deviseを使ってユーザー管理機能を実装)

エラー原因


自作アプリで、ページネーションを日本語表示にするために
config>application.rb に ”config.i18n.default_locale = :ja”と
日本語化する設定をしていたのですが、deviseのエラーメッセージに関しては日本語化していませんでした。
そのため、deviseの日本語のファイルがないよとエラーになってしまったみたいです。

config>application.rb
class Application < Rails::Application
    ~省略~
    #以下で日本語化の設定をしていた
    config.i18n.default_locale = :ja 
  end

エラー解決方法


解決するには上記の日本語化を削除するか、deviseの日本語ファイルを作成してあげればOKのよう。
私はページネーションを日本語で表示させたいので、後者のやり方で解決することにしました。

deviseの日本語化

config/localesディレクトリ内の以下のファイルを2つ新規で作成します。
作成したファイル内に、それぞれリンク先に載っている記述内容をそのまま全てコピーして貼り付けるだけです。

これで日本語化することが出来たので、最初のエラーは出なくなりました。
ただ、日本語化したのでテストの際のエラー文言も日本語で書く必要があります。

6
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
11