2012-02-22 102 views
1

我想为CRUD某些模型设置不同的访问控制级别(在我的应用程序中有3个级别)。应用中没有用户模型,因为我使用RPAM进行身份验证和会话以跟踪用户。为了设置授权级别,我创建了一个名为user_role的模型,将角色分配给用户名。在DB,它看起来像这样:Rails 3.1质量分配层次结构

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 

我如何可以建立角色的层次结构:为所有的限制可以做的东西,管理员也可以做,但不是其他方式。

回答

1

只是做

attr_accessible :customer_type, :as=>[:admin, :limited] 

,它会涵盖了这两个角色。