前提
以下コマンドにてdevise用のusersコントローラを作成しています。
ターミナル.
$ rails g devise:controllers users
Running via Spring preloader in process 1829
create app/controllers/users/confirmations_controller.rb
create app/controllers/users/passwords_controller.rb
create app/controllers/users/registrations_controller.rb
create app/controllers/users/sessions_controller.rb
create app/controllers/users/unlocks_controller.rb
create app/controllers/users/omniauth_callbacks_controller.rb
やりたいこと
ユーザーの新規登録完了後、指定したパスにリダイレクトさせたい。
今回は、以下の「user_path」にリダレクトさせます。
ユーザー新規登録後にリダイレクトするパスを変更する
registrations_controller.rbの下の方にある「after_inactive_sign_up_path_for」メソッドをコメントアウトを外し修正します。
今回は、
【before】registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
~~省略~~
# The path used after sign up for inactive accounts.
# def after_inactive_sign_up_path_for(resource)
# super(resource)
# end
【after】registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
~~省略~~
# The path used after sign up for inactive accounts.
def after_inactive_sign_up_path_for(resource)
user_path(resource) #ここを修正する
end
※今回リダイレクトさせたいパスには「user_id」が必要なので、user_pathに対して"resource"を渡しています。
最後に
備忘のために投稿しました。意外と簡単に遷移できました。