Rails CanCan哈希条件访问被拒绝

时间:2014-09-08 12:03:53

标签: ruby-on-rails cancan cancancan

我遇到了设置这样一种能力的问题:

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)失败了?

Also posted as an issue

1 个答案:

答案 0 :(得分:0)

我使用cancan中的哈希表示法遇到了类似问题的问题。你试过了吗?

can :read, Project do |project|
  project.allocate_to == user.id
end

我不确定为什么会这样,但这对我有用。