Ruby on rails 在方法中更改邮件器布局
如何在邮件程序中的方法中更改电子邮件的总体布局 尝试基本上做到这一点:Ruby on rails 在方法中更改邮件器布局,ruby-on-rails,actionmailer,Ruby On Rails,Actionmailer,如何在邮件程序中的方法中更改电子邮件的总体布局 尝试基本上做到这一点: class AccountMailer < ActionMailer::Base layout 'mailer' def reset_password(user) layout 'simple_mailer' end end class AccountMailer
class AccountMailer < ActionMailer::Base
layout 'mailer'
def reset_password(user)
layout 'simple_mailer'
end
end
class AccountMailer
但这是一个错误
基本上,我在/app/views/layouts/simple_mailer.html.erb
中有一个我想使用的布局,但只有一个方法
我正在运行Rails 4.2。这是对您问题的回答。只需在
呈现
方法中指定:布局
选项。邮件方法可以获取在format对象中传递的块
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
classmymailer
您可以将其他选项传递给邮件块,并指定要使用的布局,如下所示:
class AccountMailer < ActionMailer::Base
layout 'mailer'
def reset_password(user)
mail(to: 'test@gmail.com', subject: 'Sample Mail', from: "<test@gmail.com>") do |format|
format.html { render layout: 'path_to/other_mailer_layout' }
end
end
end
class AccountMailer