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
役割の階層構造を構築するにはどうすればよいですか。limitedが実行できるすべてのことについて、管理者も実行できますが、その逆はできません。