在方法中更改邮件程序布局

Shp*_*ord 7 ruby-on-rails actionmailer

如何在邮件发件人的方法中更改电子邮件的整体布局?

基本上要这样做:

class AccountMailer < ActionMailer::Base
  layout 'mailer'

  def reset_password(user)
    layout 'simple_mailer'
  end
end
Run Code Online (Sandbox Code Playgroud)

但这引发了错误。

基本上,我有一个/app/views/layouts/simple_mailer.html.erb要使用的布局,但只有一种方法。

我正在运行Rails 4.2。

jer*_*ink 9

mail方法可以采用传递格式对象的块。

class MyMailer < ApplicationMailer
  layout 'mailer'
  def password_reset(user)
   # uses the "mailer" layout
  end

  def special
    mail(to: "whomever") do |format|
      format.html { render(layout: false) } # no layout is used
      format.text # use the special.text.erb like normal
    end
  end
end
Run Code Online (Sandbox Code Playgroud)