複数のdeviseモデルがあってそれぞれのログイン後のリダイレクト先を設定したい時
今回なにかの投稿サイトを作ることになり、admin(管理者側)とuser(顧客側)に分けたとします。
前提として
deviseモデルとして、AdminモデルとUserモデルがあるとします。
Adminのログイン後のリダイレクト先はadmins_home_pathにしたい
Userのログイン後のリダイレクト先はusers_home_pathにしたい
やり方は色々とあると思うのですが、記事を見ていて簡単だなと思ったところを参考に。Controller/ApplicationControllerにafter_sign_in_path_forをオーバーライドしていきます。
def after_sign_in_path_for(resource)
case resource
when Admin
admins_home_path
when User
users_home_path
end
end
パスの所はrails routes等でパス渡しを参考にしてくださいね。


コメント