Iモデルでは、以下の検証を持っている:モデルバリデーションのRails国際化(I18n):可能かどうか
翻訳がプロダクションモードで動作しないようですvalidates_inclusion_of :whatever, :in => [true, false], :message => I18n.t('please_select_whatever')
:すべての言語で、それは常に私がデフォルトとしての英語に設定おそらくので(diplayedます英語の翻訳です私のアプリのロケール...?)。
モデルの検証は翻訳されていないと仮定しています。モデルは一度しか読み込まれないため、サーバーが起動してからデフォルトのロケールが適用されるためです。
私は正しいですか?はいの場合、この問題をどのように解決しますか?
ありがとうございました!
私はいつもactiverecordのエラーメッセージのデフォルトを忘れています(数ヶ月おきにそれが必要です)。ありがたいことにGoogleがこの回答を何度も見つけてくれます! –
=>この問題にアプローチするより良い方法は、以下の@iainの答えです。 –
これは*なぜ* OPs解決策が機能しなかったかに対処しません。プロジェクトの_initialized_がdevで要求されたときに翻訳が解釈されましたが、prodで起動すると一度だけ解釈されます。複数の言語をサポートするには、@ iainのソリューションアドレスである_runtime_で解釈する必要があります。 TomDoggのソリューションは、すべての場合に同じデフォルトの翻訳を使用できる場合にのみ機能しますが、必ずしも最良のUXであるとは限りません。 – Woahdae