2010-10-22 239 views
3

我有這樣的代碼:設置的ActionMailer使用 「foo.fr.erb」 當I18n.locale設置爲:EN

class Mailer < ActionMailer::Base 

    def foo 
    recipients "[email protected]" 
    from  "[email protected]" 
    subject "Foo" 
    body  :var => "value" 
    end 

end 

兩個視圖中app/views/mailer

  • foo.en.erb
  • foo.fr.erb

當我使用Mailer.deliver_foo時,用於b的視圖由於I18n.locale設置爲:en,所以請使用foo.en.erb。有沒有辦法繞過它,並使用foo.fr.erb,除了臨時將區域設置爲:fr,發送電子郵件,然後恢復爲:en

謝謝!

回答

0

我終於找到了答案here

def foo user 
    @template = "#{ActionMailer::Base::template_root}/mailer/foo.fr.erb" 

    recipients "[email protected]" 
    from  "[email protected]" 
    subject "Foo" 
    body  :var => "value" 
end 
+0

鏈接被破壞 – 2012-05-07 08:39:28

3

遇到了麻煩與此所以這似乎是一個合理的地方張貼我的發現

Rails會自動找到基於I18n.locale模板

但是,這是錯誤的:foo.html.fr.erb

這是命名事物的正確方法:foo.fr.html.erb

相關問題