我在 Rails 3 应用程序中使用设计来创建帐户。我有不同类型的用户,所以我想根据用户类型发送自定义密码恢复电子邮件。
我能够发送自定义电子邮件,但我还没有找到在该电子邮件上设置自定义标题的方法。我对设置电子邮件的主题特别感兴趣。
我做了以下事情:
- 创建了一个带有自定义方法的自定义设计邮件程序。此方法使用参数调用 devise_mail。在这种情况下,自定义邮件程序称为“reset_partner_instructions”。我可以调用这个邮件程序并成功地从我的用户模型发送一封电子邮件。
- 创建了一个自定义电子邮件视图模板,该模板已成功从
devise_mail
.
我的自定义邮件如下所示:
class AccountMailer < Devise::Mailer
helper :application # gives access to all helpers defined within application_helper.
def reset_partner_instructions(record, opts={})
devise_mail(record, :reset_partner_instructions, opts)
end
end
问题是电子邮件的主题始终是“重置合作伙伴说明”。我相信 Devise 是根据邮件模板的名称生成这个标题的。
在本教程https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer中,他们调用以下代码:
def confirmation_instructions(record, opts={})
headers["Custom-header"] = "Bar"
super
end
由于我直接调用“devise_mail”,我没有看到如何将标题传递到邮件程序中。我可以使用简单的设置或方法来设置电子邮件主题吗?