LoginSignup
37
56

More than 5 years have passed since last update.

deviseでログイン機能実装後に、ログイン後の遷移先を指定する

Last updated at Posted at 2018-12-10

application_controller.rbにafter_sign_in_path_for(resource)メソッドを定義すれば解決する様子。

application_controller.rb

  def after_sign_in_path_for(resource) 
    mypage_path
  end

def after_sign_in_path_for(resource)がログイン時に実行されるメソッドで、同様にログイン時に飛んでほしいページを指定します。この場合、mypage_pathとなっております。

自分の場合、新規登録時にはプロフィールを入力させるページに飛ばし、
通常ログインの場合はroot_urlに遷移したかったので以下のようにしました。

application_controller.rb

  # 新規登録後のリダイレクト先をマイページへ
    def after_sign_in_path_for(resource)
      if current_user
        flash[:notice] = "ログインに成功しました" 
        root_url  # 指定したいパスに変更
      else
        flash[:notice] = "新規登録完了しました。次に名前を入力してください" 
        new_profile_path  # 指定したいパスに変更
      end
    end

参考
http://tsumazuki.hatenadiary.jp/entry/2013/08/15/033130
https://qiita.com/salvage0707/items/d3ddc889458ac186e62e#3-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90

37
56
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
37
56