地方でリモートワーク

プログラミング、先物、fx,仮想通貨なんでもやります

deviseのメールアドレス変更時、旧アドレスに確認メールを送る

スポンサーリンク

deviseの標準の設定では新アドレスに,確認メールが送付されるようになっています。 これを旧アドレスに確認メールを送る方法です。

deviseのメソッドをoverride

deviseのメソッドをoverrideすればokです。 { to: unconfirmed_email } → { to: email } に変更だけでokです。

# app/models/user.rb 該当するmodelで
  def send_confirmation_instructions
    unless @raw_confirmation_token
      generate_confirmation_token!
    end
    # { to: unconfirmed_email } → { to: email } に変更
    opts = pending_reconfirmation? ? { to: email } : { }
    send_devise_notification(:confirmation_instructions, @raw_confirmation_token, opts)
  end