2017-02-18 17 views
0

からsing_in後、私はRORで新しいですし、私は私が正常に工夫からsign_in機能を作成しているRailsの5バージョンを使用しています。 super_adminmanagermoderatorどのように異なる異なるコントローラのアクションをリダイレクトする工夫

私は

が、私は3つの役割を作成しているsign_upなど、sign_inのために考案し使用しています。

super_adminは、すべての権限を管理しているが、他にはありません。

get 'manager/dashboard', :as => 'manager_dashboard' 
get 'moderator/dashboard', :as => 'moderator_dashboard' 
get 'users/dashboard', :as => 'users_dashboard' 
root "home#index" 
devise_for :users 

私はsign_inの後に、deviseを使用して別のコントローラのアクションにリダイレクトします。

  • super_admin sign_inリダイレクト後のユーザー#ダッシュボード。
  • manager after sign_inリダイレクトマネージャ#ダッシュボード。
  • モデレータ後sign_inリダイレクトモデレータ#ダッシュボード。

答えて

2

あなたはafter_sign_in_pathを使用したいです。

def after_sign_in_path_for(resource) 
    if resource.super_admin? 
    users_dashboard_path 
    elsif resource.manager? 
    manager_dashboard_path 
    else 
    moderator_dashboard_path 
    end 
end 
:あなたの ApplicationController

、方法after_sign_path_for(resource)を定義します

関連する問題