如何在邮件程序的邮件程序布局中包含条件?

时间:2015-07-22 16:49:19

标签: ruby-on-rails ruby ruby-on-rails-4

我正在设计Rails中的邮件程序布局。这是不同邮件程序将使用的总体布局。在一般布局的中间,有一个我想要包含的链接,但只有user_mailer.rb使用发送电子邮件的方法def account_activation(user)。有没有办法做到这一点?

在我试过的布局中:

<% if mailer_name == 'user' && ['account_activation'].include?(action_name) %>

但是这产生了错误:

undefined local variable or method 'mailer_name' for #<#<Class:0x007f18d0701f30>:0x00000006109c70>

如果我将mailer_name更改为mailer,它就不会再生成错误,但也不会显示该链接(即使我正在查看account_activation方法的预览。

1 个答案:

答案 0 :(得分:4)

在你的布局中,在页脚部分放置如下内容:

<div id='footer'>
  copyright | terms | privacy
  <% if content_for?(:footer) %>
    |
    <%= yield :footer %>
  <% end %>
</div>

然后在您的特定邮件程序视图中执行以下操作:

<% content_for :footer do %>
  special link
<% end %>

我这样做是为了在电子邮件的页脚中添加特殊注释,这些邮件因电子邮件而异。效果很好。