2012-02-22 75 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] 

,它會涵蓋了這兩個角色。