【问题标题】:Custom sessions controller using devise in rails在 Rails 中使用设计的自定义会话控制器
【发布时间】:2018-06-26 00:51:03
【问题描述】:

我有一个具有管理员和经理角色列的用户模型(使用设计),需要为管理员和经理提供不同的登录页面

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

对于管理员角色,它可以访问 Admins::SessionsController 控制器,对于管理者,它必须访问 Users::SessionsController,我如何在不使用 devise_for 的情况下在路由中指定它?

【问题讨论】:

标签: ruby-on-rails devise


【解决方案1】:

您需要不同的用户和管理员范围。

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 的资源是单数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 2015-06-26
    • 2020-11-14
    • 1970-01-01
    相关资源
    最近更新 更多