既に登録されているユーザーのメールアドレスを変更した場合、新しく登録されたメールアドレスは確認が取れるまでメインではないところ保存され、確認が取れ次第メインに昇格という感じっぽい。しかしそこまでしたくはない場合もあるのではなかろうか?と思ったので、とりあえずメールアドレス変えたら即時に変わる方法を探していたら、あった。
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を蓄積していきたいと思います。