前提・実現したいこと
RailsにてDeviseを用いた複数モデルのログイン機能を実装しているのですが、ユーザーと管理人それぞれのログイン後の画面遷移はでき、ログアウトの画面遷移ができません。
・ユーザー
ログイン後:root_path
ログアウト後:root_path
・ユーザー
ログイン後:admins_path
ログアウト後:new_admin_session_path
としたいです。
発生している問題・エラーメッセージ
ActionController::ActionControllerError in Admins::SessionsController#destroy Cannot redirect to nil!
該当のソースコード
Ruby
1class ApplicationController < ActionController::Base 2 def after_sign_in_path_for(resource) #ログイン後画面遷移先 3 case resource 4 5 when Member 6 root_path 7 when Admin 8 admins_path 9 end 10 end 11 12 def after_sign_out_path_for(resource) #ログアウト後画面遷移先 13 case resource 14 15 when Member 16 root_path 17 when Admin 18 new_admin_session_path 19 end 20 end 21end
試したこと
ログイン後の分岐はできるので、ログイン時のafter_sign_in_pathをafter_sign_out_pathに変えたのですが、それだけでは駄目なのでしょうか。
補足情報(FW/ツールのバージョンなど)
Rails 5.2.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。