我是ROR的新手,我使用的是Rails 5版本,我已经成功地从设计中创建了sign_in功能。
我正在使用sign_in,sign_up等设计。
我创建了三个角色:super_admin
,manager
和moderator
。
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重定向到不同的控制器操作之后。
答案 0 :(得分:2)
您想使用after_sign_in_path
。
在ApplicationController
中,定义方法after_sign_path_for(resource)
:
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