0

我有三个设计模型Student,,,EmployerAdmin我希望不能同时以学生、管理员和雇主身份登录。

最好的方法是如何做到这一点?

我的路线

devise_for :admins, only: :sessions

  devise_for :employers,
    controllers: {
      sessions: 'devise/employers_sessions'
    }

  authenticated :employer do
    match 'dashboard' => 'employers#dashboard'
  end

  devise_for :students,
    controllers: {
      registrations: 'devise/students_registrations',
      sessions: 'devise/students_sessions'
    }
4

1 回答 1

1

将它们映射到单个warden 范围。这个术语有点糟糕,因为设计范围显然与守望者范围不同。太糟糕了,他们没有写相应的维基条目。然而,有一条短线:

Warden 允许多个用户同时登录。见范围

我想设计为每个模型使用不同的范围。如果您深入研究源代码并查看他们在设计和守望者之间的映射中使用的范围设置的位置,您应该能够将其更改为三个模型中的每个模型的一个。这会让你到达你想去的地方。

去试试

devise_for :employers, :singular => :user
devise_for :students, :singular => :user
于 2012-11-18T23:57:39.313 回答