0

次のようなユーザー、クライアント、およびリクエストモデルがある場合:

#user.rb


#client.rb
has_one :user
has_many :requests

#request.rb
belongs_to :client

CanCanCan 認証にはユーザー モデルを使用します。能力クラス内で、クライアントの能力を指定したい。私は、ユーザーが自分に属する要求に対してのみ読み取り、更新を許可したいと考えています。彼女は私が試しているものです:

def client
  can [:read,:update], [Request], ['client_id = ?', user.client_id] do |client|
      ......something here
  end
end

4

2 に答える 2

1

here is the simplest option:

can [:read, :update], Request, :client_id => user.id

if you have more complex abilities than this then you can do:

can [:read, :update], Request do |request|
  request.client_id == user.id
end
于 2015-06-22T07:08:47.870 に答える
1
can [:read, :update], Request, :client_id => user.id
于 2015-06-22T06:46:11.693 に答える