2016-12-02 13 views
0

ロケールメッセージ文字列内の式を評価する必要があります。それはパラメータの一種ではありません。その値はアプリの設定内にあるためですが、表現の種類なので、メッセージ内にハードコードする必要はありません。また、メッセージは私のコントローラーではなくサードパーティの宝石コントローラーによって表示されるため、パラメーターが私に合っていません。だから、私は適切に評価されるように、このようなものが必要:Railsの国際化メッセージの表現式

I18n.t(:taken_in_past, scope: [:errors, :messages]) 

.ymlファイル:

en: 
    errors: 
     messages: 
     taken_in_past: "could not be equal to on of #{Devise.password_archiving_count} previous passwords" 

答えて

0

それが唯一のアイデアだ、私は実際にそれをチェックしません。

あなたは行方不明の補間https://github.com/svenfuchs/i18n/blob/master/lib/i18n/config.rb#L107ロケールで

をあなたは

taken_in_past: "could not be equal to on of #{password_archiving_count} previous passwords" 

設定し、ハンドラ内でこの補間私はどのようにこのハンドラとを配置する必要があり

case key 
when 'password_archiving_count' then Devise.password_archiving_count 
+0

を交換するためのハンドラを設定することができますそれを実装する? –