我正在尝试为CRUD某些模型设置不同的访问控制级别(我的应用程序中有3个级别)。应用程序中没有用户模型,因为我使用RPAM进行身份验证和会话以跟踪用户。为了设置授权级别,我创建了一个名为user_role的模型,为用户名分配角色。在DB中,它看起来像这样:
id | username | role
----+----------+---------
1 | user1 | limited
2 | admin | admin
3 | user2 | normal
我的模型定义如下:
class Treatment < ActiveRecord::Base
has_many :user_roles
attr_accessible :cust_id, :admission_time, :as=>:admin
attr_accessible :customer_type, :as=>:limited
end
我如何构建角色的层次结构:对于所有有限的东西,管理员也可以这样做,但不是相反。
答案 0 :(得分:1)
只做
attr_accessible :customer_type, :as=>[:admin, :limited]
它将覆盖两个角色。