[英]Multiple Devise users or one user and permissions with CanCanCan?
实现具有不同属性和行为的两种类型的用户(客户端,管理员)的首选方法是什么?
是由Devise创建的两种类型的用户,还是只有一种User模型,并通过CanCanCan设置权限?
谢谢
仅使用一个用户,并使用诸如role_id
类的特定列为该用户分配角色。 然后,您可以拥有不同的角色,每个角色都有不同的ID。
admin = 1
standard = 2
然后,您可以像这样在用户中定义一个方法:
def admin?
role_id == 1
end
在cancan中,您可以像这样使用它:
def initialize(user) HERE PERMISSIONS FOR NON LOGGED USERS if user HERE PERMISSIONS FOR LOGGED USERS if user.admin? HERE PERMISSIONS ONLY FOR ADMIN end end end
如果您使用Rails> = 4.1,则可以对该列使用枚举。
我会说具有权限的单一模型。 我对如何在这里进行处理做了详细的回应:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.