实现具有不同属性和行为的两种类型的用户(客户端,管理员)的首选方式是什么?多个设计用户或一个用户和CanCanCan的权限?
有两种类型的用户由Devise创建或只有一个用户模型并通过CanCanCan设置权限?
感谢
实现具有不同属性和行为的两种类型的用户(客户端,管理员)的首选方式是什么?多个设计用户或一个用户和CanCanCan的权限?
有两种类型的用户由Devise创建或只有一个用户模型并通过CanCanCan设置权限?
感谢
我会说具有权限的单一模型。我对如何在这里处理这一个详细的答复:
Setting up different User models and registration paths for Devise on Ruby on Rails
仅使用一个用户和角色分配给用户提供类似role_id
一个特定的列。 然后你可以有不同的角色,每个角色都有不同的ID。
admin = 1
standard = 2
然后,您可以在喜欢的用户定义的方法:
def admin?
role_id == 1
end
,并在康康舞,你可以用它这样的:
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,则可以使用该列的枚举。
用户所属的角色和作用有很多persmissions。 – blelump 2014-11-25 13:59:31