ユーザーが確認されていない場合にユーザーを別のページにリダイレクトする方法で、devise のユーザー サインイン動作を変更したいと考えています。
私の中に次のコードがありますapp/controllers/sessions_controller.rb
:
# POST /user/sign_in
def create
@user = warden.authenticate!(:scope => :user)
sign_in @user
respond_with @user, :location => after_sign_in_path_for(@user)
end
ユーザーが正しいユーザー名/パスワードを入力しても確認されない場合、Warden はエラーを発生させ、ユーザーをサインイン ページ (コード 302) にリダイレクトします。同時に、これは flash[:alert] を「未確認」にします。
未確認のユーザーを特定のページにリダイレクトする方法はありますか?
これを回避するための私のアイデアは、flash[:alert] 値を読み取り、値が「未確認」であるが、ワーデンがユーザーに関する追加データを送信していない場合は適切なページにリダイレクトすることでした。