odo*_*llt 7 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
是否可以自定义Rails 3.1 ActionMailers的模板路径?默认情况下,Rails查找:
/app/views/[mailer_class]
Run Code Online (Sandbox Code Playgroud)
用于邮件程序视图模板.但是,我更愿意组织它们:
/app/mailers/views/[mailer_class]
Run Code Online (Sandbox Code Playgroud)
或至少:
/app/views/mailers/[mailer_class]
Run Code Online (Sandbox Code Playgroud)
我知道这可以通过ActionMailer的template_path配置参数在2.3中实现,但是从Rails 3开始这似乎已被弃用了.这种自定义不再可能吗?
JDu*_*til 12
这种定制仍然是可能的.根据您的邮件编写方式,有几种不同的方法可以执行此操作.
如果你有格式块,例如format.html,你可以将渲染'/ path /传递给/ template'.
或者,如果您只是调用mail(),则有两个选项可用于设置路径和模板名称,您只需要传递路径选项即可:
mail(:template_path => 'mailers/[mailer_class]', :template_name => '[mailer_method]')
Run Code Online (Sandbox Code Playgroud)
您应该查看Rails指南以获取更多详细信息.
http://guides.rubyonrails.org/action_mailer_basics.html#mailer-views
| 归档时间: |
|
| 查看次数: |
9359 次 |
| 最近记录: |