我有一个用户模型,其中包含管理员和经理角色列(使用设计),需要为管理员和经理提供不同的登录页面
devise_for :users, controllers: {
sessions: 'users/sessions'
}
as :user do
namespace :admins do
get 'sign_in', to: 'sessions#new'
post 'sign_in', to: 'sessions#create'
end
end
对于admin角色,它可以访问Admins :: SessionsController控制器,对于管理员,它必须访问Users :: SessionsController,如何在不使用devise_for的情况下在路由中指定?
答案 0 :(得分:0)
您需要为用户和管理员提供不同的范围。
devise_for :users, skip: :all
devise_scope :user do
# custom routes here
end
devise_scope :admin do
# custom routes here
end
请注意,devise_for
的资源是复数,devise_scope
的资源是单数。