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

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

4

1 に答える 1

1

ただやる

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

両方の役割をカバーします。

于 2012-02-22T21:28:09.777 に答える