设计:当用户请求电子邮件更改时(而不是默认设置),如何使用其他邮件视图

时间:2013-06-23 09:35:01

标签: ruby-on-rails ruby-on-rails-3 devise confirmation devise-confirmable

  1. 登录用户更改电子邮件用户#registration
  2. 用户收到电子邮件以确认此电子邮件更改
  3. 步骤2中发送的电子邮件与用户首次注册时的电子邮件完全相同,并且必须首次确认其电子邮件。

    有没有办法使用其他电子邮件视图所以我可以更自定义文本,例如"您要求更改电子邮件,请点击以下链接.."而不是使用默认消息。

    在我们的应用程序中,这将是一个美观但非常需要的功能。

    无论如何要这样做?亲切的问候!

1 个答案:

答案 0 :(得分:2)

这不是一件轻而易举的事,实际上你需要在模型中覆盖this devise method

  def send_confirmation_instructions
    if reconfirmation_required?
      self.confirmation_token = nil if reconfirmation_required?
      @reconfirmation_required = false

      ensure_confirmation_token!

      opts = pending_reconfirmation? ? { :to => unconfirmed_email } : { }
      send_devise_notification(:reconfirmation_instructions, opts)
    else
      super
    end
  end

然后,您需要扩展Devise::Mailer以添加方法reconfirmation_instructions

最后,您需要创建视图app/views/devise/mailer/reconfirmation_instructions.html.erb