3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby on Rails】devise実装後にログイン・ログアウト後のリダイレクト先を指定する方法

Posted at

#対象者

  • deviseを実装済の方
  • 管理者・ユーザーで2つのdeviseを実装した方
  • ログイン・ログアウト後の動作を考えている方

#目的

  • devis実装後にログイン・ログアウト後の遷移先を指定する条件を作ること

#実際の手順と実例
###1.前提

  • devise実装済(実装方法は下記の通り)

  • Admin/User2つのモデルを作成している

###2.今までの方法(devise1つだったとき)

private
def after_sign_in_path_for(resoure)
    root_path
end
````

###3.新しい実装方法(devise 2つ実装した場合)

````application_controller.rb
private
def after_sign_in_path_for(resource_or_scope)
    if resource_or_scope.is_a?(Admin)
        admins_orders_top_path
    else
        root_path
    end
end

def
after_sign_out_path_for(resource_or_scope)
    if resource_or_scope == :user
        root_path
    elsif resource_or_scope == :admin
        new_admin_session_path
    else
        root_path
    end
end

````

上記では2つ指定しています

1. サインイン後 

* Admin → 管理者ルートパスへ(Top)
* User → ルートパス(Top)

1. サインアップ後

* Admin → 管理者ログインへ
* User → ルートパス(Top)
 


####投稿者コメント
PF作成で管理者とUser分けて実装していたのでこちらを記事にしました。早速チーム開発時の復習ができて記憶に定着できそうです。

####My Profile
プログラミング学習歴3ヶ月目のアカウントです!
プログラミングスクールで学んだ内容や自分が躓いた箇所等のアウトプットの為に発信しています。
また、プログラミング初学者の方にわかりやすく、簡潔にまとめて情報共有できればと考えています。
もし、投稿した記事の中に誤り等ございましたら、コメント欄でご教授いただけると幸いです。 



3
5
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
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?