2

Railsでgemを使用devise_invitableしていて、Railsアプリでいくつかのロケールを構成しました。私がやりたいのは、自分で指定するロケールのユーザーを招待することです。私はこのように見えるかもしれません:

User.invite!(:email => "test@example.com", :locale => 'fr')

これにより、ロケールが「fr」の場合でも、ロケールとして「fr」を使用して電子メールが送信されI18n.localeますen

上記で使用している構文とは完全に異なる構文でも、これは可能ですか?

4

1 に答える 1

0

掘り下げて、メーラーをdevise_invitable使用していることがわかりました。ソースを参照してください。正確にどのように機能するかは100%わかりませんが、知っていると思います。そのため、メソッドにモンキー パッチを適用します。他の言語を渡すには、次のいずれかを選択できます。deviseI18n.talias_method_chaintranslate

  1. コール スタック全体を変更して変数を渡す
  2. 経由で疑似グローバル変数を使用しますThread.current[]

2.を使用することを提案します。選択してください。次に、その変数を使用して正しい翻訳を返します。

于 2012-03-20T17:31:44.440 に答える