【Rails】Deviseでユーザーログイン後のリダイレクト先を変更


開発環境--------------------
windows
ruby 2.7.0
Rails 5.2.4.1
●----------------------------

大前提

deviseのコントローラーを作成してある
コマンドで以下を打つ

rails g devise:controllers users

アプリケーションコントローラーに以下を加えるだけ

やり方はシンプル。
users/application_controller.rb
に以下を加える

users/application_controller.rb
def after_sign_in_path_for(resource)
    user_path(resource)
end

redirect先は、routesで確認

コマンドで、
rails routes
と打つと、詳細が出てきます。

僕の場合、user/showでマイページを作成しているので、そこにredirectさせたかったので、
routesで調べたら、

|Prefix  |Verb |URI Pattern  |Controller#Action

|user |GET |/users/:id(.:format) |users#show

と設定されているので、
user_pathでusers#show が行われる。

よって、上記に変更でOK