如何将实例变量添加到Devise电子邮件模板?

时间:2014-12-30 00:59:40

标签: ruby-on-rails-4 devise devise-confirmable

我正在尝试编辑confirmation_instructions.html.erb文件,以通过名字而不是电子邮件来解决新用户。

当前文件的开头读取...     

嗨,<%= @email%>,

如何将实例变量@first_name添加到控制器/邮件程序?

我运行了rails generate devise:controllers用户,但我没看到任何.rb文件,我可以在其中添加实例变量到确认邮件程序(如果有的话)

由于

1 个答案:

答案 0 :(得分:4)

这很简单,你可以为此创建一个邮件程序:

class ConfirmationsMailer < Devise::Mailer
  default from: '<no-reply@example.com>'

  def confirmation_instructions(record, token, opts={})
   @token = token
   #you can add your instance variables here
   devise_mail(record, :confirmation_instructions, opts)
  end
end

然后告诉Devise使用这个类:

<强>配置/初始化/ devise.rb

Devise.setup do |config|
...
config.mailer = 'ConfirmationsMailer'
...
end

重启你的服务器,你应该好好去!