Deviseを日本語化したときのエラー。エラー画面はこんな感じ。
◆原因
どうやらdeviseのエラーメッセージを日本語化したことによって本来Deviseで用意されているエラー文(英語)
とテスト実行時のエラー文(devise.ja.yml)
に相違が出てしまい、エラーになってしまってるぽい。
◆解決策
巷に落ちているdevise.ja.yml
の内容もそれぞれ引用元によって異なるため、このエラーが出た際にはdevise.ja.ymlに記述を追加する必要がある。
実際に記述を追加していく。
今回の場合エラー分が
expected [translation missing: ja.activerecord.errors.models.user.attributes.name.blank] to include "can't be blank"
なので
config/locals/devise.ja.yml
ja:
activerecord:
errors:
models:
user:
attributes:
name:
blank: "が入力されていません"
と追記してあげる。
これで無事にテストが通るように!
参考にした記事
・Devise日本語化後の「translation missing」に対処する
・Createの際のエラーUser translation missing: ja.activerecord.errors.models.company.attributes.user.required