2012-02-22 15 views
1

私はCRUD特定のモデルに対して異なるアクセス制御レベル(私のアプリでは3レベル)を設定しようとしています。私は認証とセッションのためのRPAMを使用してユーザーを追跡するため、アプリケーションにユーザーモデルはありません。権限レベルを設定するために、ユーザ名にロールを割り当てるために、user_roleという名前のモデルを作成しました。 DBには、それは次のようになります。Rails 3.1 mass assignment階層構造

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] 

を行うと、それが両方の役割のためにカバーします。

関連する問題