代码之家  ›  专栏  ›  技术社区  ›  remi

当I18n.locale设置为:en时,将ActionMailer设置为使用“foo.fr.erb”

  •  3
  • remi  · 技术社区  · 16 年前

    我有这个密码:

    class Mailer < ActionMailer::Base
    
      def foo
        recipients "bar@example.com"
        from       "foo@example.com"
        subject    "Foo"
        body       :var => "value"
      end
    
    end
    

    app/views/mailer :

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

    当我使用 Mailer.deliver_foo ,用于生成电子邮件的视图是 自从 I18n.locale 设置为 :en 联邦铁路局 ,而不是临时将区域设置为 :fr ,发送电子邮件,然后返回到 :英语 .

    谢谢您!

    2 回复  |  直到 16 年前
        1
  •  3
  •   jacob    13 年前

    有麻烦了,所以这似乎是一个合理的地方张贴我的发现

    Rails会根据I18n.locale自动找到模板

    foo.html.fr.erb

    这是正确的命名方式: foo.fr.html.erb

        2
  •  0
  •   remi    16 年前

    here .

    def foo user
      @template = "#{ActionMailer::Base::template_root}/mailer/foo.fr.erb"
    
      recipients "bar@example.com"
      from       "foo@example.com"
      subject    "Foo"
      body       :var => "value"
    end