我遇到了设置这样一种能力的问题:
can :read, Project, :allocate_to => user.id
问题是
ability.can?(:read, my_project)
即使,也会返回false
Project.accessible_by(ability)
按预期返回该用户的项目。
我尝试过cancan 1.6.10和cancancan 1.9.2 on rails 3.2.19 with ruby 1.9.3-p547
这是cancancan或我的代码的错误吗?我怎么知道为什么ability.can?(:read,my_project)失败了?
答案 0 :(得分:0)
我使用cancan中的哈希表示法遇到了类似问题的问题。你试过了吗?
can :read, Project do |project|
project.allocate_to == user.id
end
我不确定为什么会这样,但这对我有用。