Rails 4:一个ActionMailer,不同的布局

时间:2014-07-24 07:48:31

标签: ruby-on-rails-4 actionmailer

有没有办法告诉邮件程序(例如:class Notifier < ActionMailer::Base)为不同的方法(邮件)使用不同的布局?

我想发送两种邮件,mail_type_1mail_type_2。每种类型都有自己的布局,但有多个邮件使用这些布局中的每一个,并且每个邮件都有自己的视图。

我想像控制器那样管理它,我可以告诉Rails为不同的操作使用不同的布局,但为每个操作保持分离的视图。这样我就有了:

app/views/layouts/notifier
| -> mail_layout_1.html.erb
| -> mail_layout_2.html.erb

里面会有'yield'调用,而

app/views/notifier
| -> mail1.html.erb
| -> mail2.html.erb
| -> mail3.html.erb
| -> mail4.html.erb

这会使那些yield占位符填充content_for个调用。因此,例如,mail1.html.erbmail2.html.erb将使用mail_layout_1.html.erbmail3.html.erb呈现,mail4.html.erb将使用mail_layout_2.html.erb呈现。

有没有简单的方法来实现这一目标?到目前为止我找到的唯一解决方案是使用不同的邮件程序类

0 个答案:

没有答案