複数のdeviseモデルについてログイン後のページを設定する方法


複数のdeviseモデルがあってそれぞれのログイン後のリダイレクト先を設定したい

前提

  • deviseモデルとして、AdminモデルとUserモデルがあるとする
  • Adminのログイン後のリダイレクト先はadmins_home_pathにしたい
  • Userのログイン後のリダイレクト先はusers_home_pathにしたい

実装

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

参考にしたページ