0
我对基于学校的应用程序存在严重问题,我想为管理员,学生和教师设置基于角色的系统。我已经使用设计进行身份验证,并可以对授权进行扫描。事情是我不会从哪里开始。我添加了设计用户模型并添加了一个字段角色。我遵循this的基于角色的授权。它可以工作,但是当我尝试通过在下拉列表中选择一个教师角色来登录学生证书时,它永远不会验证角色(绝不会说您的访问被拒绝)。它以学生身份登录。我想验证登录表单中选定的角色。登录通过角色进行身份验证无法验证
现在我正在使用用户模型作为设计模型。和 有学生模型,教师模型和管理模型。所有学生,教师和管理员都属于用户。
在用户模式
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :admins
has_many :students
has_many :teachers
ROLES = %i[admin teacher student]
end
在我色器件登记观点
<%= f.collection_select(:role, User::ROLES, :to_s, lambda{|i| i.to_s.humanize}) %>
要不然我想用色器件模型对所有学生,教师和管理?如果是,我该如何完成。任何帮助或建议都很有帮助。提前致谢。