如果我有以下用户,客户和请求模型:
#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
答案 0 :(得分:1)
<div class="button-bar">
<a class="button" ng-click="data.filter='cat'">Cats cats and more cats</a>
<a class="button" ng-click="data.filter='dog'">Dogs</a>
<a class="button" ng-click="data.filter='bird'">Birds</a>
</div>
答案 1 :(得分:1)
这是最简单的选择:
can [:read, :update], Request, :client_id => user.id
如果你的能力比这更复杂,那么你可以这样做:
can [:read, :update], Request do |request|
request.client_id == user.id
end