如何在Actionmailer消息中使用不同的布局?

Joh*_*ash 5 ruby-on-rails actionmailer

我有project_mailer布局,但如果project_notification方法有参数,我想使用不同的方法unsubscribe_link = true.

layout "project_mail"

def project_notification(user, projects, unsubsribe_link = false)
  attachments.inline['logo_252.png'] = File.read(Rails.root + 'public/images/logo_252.png')
  @user = user
  @projects = projects

  mail(:to => user.email, :subject => "New Projects")
end
Run Code Online (Sandbox Code Playgroud)

dgi*_*rez 16

我认为你已经解决了你的问题,我回答帮助别人:

layout 'project_mail'

def project_notification(user, projects, unsubscribe_link = false)
  attachments.inline['logo_252.png'] = File.read(Rails.root + 'public/images/logo_252.png')
  @user = user
  @projects = projects
  layout_name = unsubscribe_link ? 'other_fancy_layout' : 'project_mail'

  mail(to: user.email, subject: "New Projects") do |format|
    format.html { render layout: layout_name }
    format.text { render layout: layout_name }
  end
end
Run Code Online (Sandbox Code Playgroud)