2012-03-20 6 views
2

私はdevise_invitable gem in railsを使用しています。私は自分のレールアプリでいくつかのロケールを設定しました。私がしたいのは、私が自分で指定するロケールを持つユーザーを招待することです。devise電子メールでカスタムロケールを使用する

User.invite!(:email => "[email protected]", :locale => 'fr') 

これはI18n.localeenだろう場合でも、ロケールとして「FR」でメールを送信します:私はtがこのような何かを見ることができます。

これは、私が上記のものと完全に異なる構文を使用しても、ですか?

答えて

0

掘削の結果、devise_invitabledeviseメーラを使用しています。sourceを参照してください。私は100%正確にどのようにI18n.tが動作するかはわかりませんが、あなたはそれを知っていると思います。したがってalias_method_chainを使用して、translateメソッドをサルキーパッチしてください。他の言語を渡すには、いずれかを選択することができます:

  1. を変数
  2. を伝承するために全体のコールスタックを変更Thread.current[]経由で擬似グローバル変数を使用します。

私は2.を使用することを提案します。あなたの選択をしてください。その後、その変数を使用して正しい翻訳を返します。

関連する問題