Rails 3.1 ActionMailer自定义模板路径?

时间:2011-09-25 22:01:53

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

是否可以自定义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开始这似乎已被弃用了。这种自定义不再可能吗?

1 个答案:

答案 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