是否可以自定义Rails 3.1 ActionMailers的模板路径?默认情况下,Rails查找:
/app/views/[mailer_class]
用于邮件程序视图模板。但是,我更愿意将它们组织起来:
/app/mailers/views/[mailer_class]
或至少:
/app/views/mailers/[mailer_class]
我知道这可以通过ActionMailer的template_path
配置参数在2.3中实现,但是从Rails 3开始这似乎已被弃用了。这种自定义不再可能吗?
答案 0 :(得分:12)
这种定制仍有可能。根据邮件的编写方式,有几种不同的方法可以做到这一点。
如果您有format.html等格式块,则可以将'/ path /传递给/ template'。
或者,如果您只是调用mail(),则有两个选项可用于设置路径和模板名称,您只需要传递路径选项:
mail(:template_path => 'mailers/[mailer_class]', :template_name => '[mailer_method]')
您应该查看Rails指南以获取更多详细信息。
http://guides.rubyonrails.org/action_mailer_basics.html#mailer-views