グロースエンジニアのブログ

Ruby on Rails エンジニアです!開発に当たって勉強したことをまとめていこうと思います!

【Rails5】devise でログイン後、ログアウト後のページを設定する

ユーザーがログインした後、ログアウトした後のページへの遷移をデフォルトのものから変更したいと思います。

以下のページの項目を読むと after_sign_in_path_for と after_sign_out_path_for をオーバーライドしてねってあるので、その通りやっていきます。

GitHub - plataformatec/devise: Flexible authentication solution for Rails with Warden.

application_controller.rb に追記

以下のように after_sign_in_path_for にログイン後のページ、 after_sign_out_path_for にログアウト後のページを設定するとリダイレクトしてくれます。

class ApplicationController < ActionController::Base
before_action :authenticate_user!

def after_sign_in_path_for(resource)
mypage_root_path # ログイン後に遷移するpathを設定
end

def after_sign_out_path_for(resource)
new_user_session_path # ログアウト後に遷移するpathを設定
end
end

思ったよりサクッといけました!

 

devise 関連記事はこちら

【Rails5】devise でログイン機能を実装する

【Rails5】devise を日本語化する

【Rails5】devise でログイン後ページをユーザー意図に合わせて変更する