1

我正在尝试为 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

我怎样才能建立角色的层次结构:对于所有限制可以做的事情,管理员也可以做,但不能相反。

4

1 回答 1

1

做就是了

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

它将涵盖这两个角色。

于 2012-02-22T21:28:09.777 回答