既に登録されているユーザーのメールアドレスを変更した場合、新しく登録されたメールアドレスは確認が取れるまでメインではないところ保存され、確認が取れ次第メインに昇格という感じっぽい。しかしそこまでしたくはない場合もあるのではなかろうか?と思ったので、とりあえずメールアドレス変えたら即時に変わる方法を探していたら、あった。
01 02 03 04 05 06 07 08 09 10 11 12 | class UsersController < ApplicationController load_and_authorize_resource def update @user .skip_reconfirmation! # メールアドレス変更確認しない if @user .update_with_password(user_params) redirect_to user_path( @user ), notice: '更新しました' else render action: :edit end end end |
Deviseは色々とハマりそうなポイントが多いので、これからもTipsを蓄積していきたいと思います。