Ruby on rails 4 如何添加实例变量来设计电子邮件模板?

Ruby on rails 4 如何添加实例变量来设计电子邮件模板?,ruby-on-rails-4,devise,devise-confirmable,Ruby On Rails 4,Devise,Devise Confirmable,我正在尝试编辑confirmation_instructions.html.erb文件,以通过名字而不是电子邮件向新用户发送地址 当前文件的开头读取。。。 嗨 如何将实例变量@first_name添加到控制器/mailer 我运行了rails generate Desive:controllers用户,但我没有看到任何可以向确认邮件器添加实例变量的.rb文件(如果有) 谢谢这很简单,您只需为此创建一个邮件: class ConfirmationsMailer < Devise::Maile

我正在尝试编辑confirmation_instructions.html.erb文件,以通过名字而不是电子邮件向新用户发送地址

当前文件的开头读取。。。 嗨

如何将实例变量@first_name添加到控制器/mailer

我运行了rails generate Desive:controllers用户,但我没有看到任何可以向确认邮件器添加实例变量的.rb文件(如果有)


谢谢

这很简单,您只需为此创建一个邮件:

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

重新启动你的服务器,你就可以开始了

你能给我一个如何从用户模型中获取属性的例子吗?例如,下面的@first\u name=current\u user.first\u name没有使用
current\u user
,你可以使用方法中的
record
参数,因此在你的例子中@first\u name=record.first\u name我来这里是想说我用@first\u name=record.first\u name解决了这个问题,然后看到了你的帖子。感谢您的帮助我在哪里可以找到opts={}中可用的内容您可以在这里找到,但基本上是电子邮件的标题,例如主题、发件人、收件人等
Devise.setup do |config|
...
config.mailer = 'ConfirmationsMailer'
...
end