0


我有一个 rails 3 应用程序和 2 个用户模型,用于使用 devise gem 进行身份验证。
第一类命名为 StandartUser,第二类命名为 AdminUser。
我可以覆盖设计控制器,但我想为 reset_password_instructions 使用特定邮件。
只是想更改邮件主题。
对于 StandartUser -> 邮件主题应该是“重置密码邮件”
对于 AdminUser -> 邮件主题应该是“bla bla bla bla”
我如何在我的应用程序中实现这个想法?

4

1 回答 1

1

生成设计视图将允许您修改其中的内容。这将允许您更改内容,但为了更改主题,您必须通过创建自己的邮件程序并让设计人员使用它来覆盖设计邮件程序。

class MyMailer < ActionMailer::Base
 default :from => "notifications@example.com"

 def welcome_email(user)
   @user = user
   @url  = "http://example.com/login"
   # your code you want to change subject
   if ...
     @subject = ...
   else
     @subject = ...
   end
   mail(:to => user.email, :subject => @subject)
 end
end

然后在设计配置中:

config.mailer = "MyMailer"
于 2012-12-27T18:59:03.457 回答