LoginSignup
12
11

More than 3 years have passed since last update.

【Rails】Devise機能を使用したユーザー登録後のリダイレクト先を変更する

Posted at

前提

以下コマンドにて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」にリダレクトさせます。
image.png

ユーザー新規登録後にリダイレクトするパスを変更する

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"を渡しています。

最後に

備忘のために投稿しました。意外と簡単に遷移できました。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11