CanCan自定义操作无法使用块

时间:2011-01-20 02:31:29

标签: ruby-on-rails cancan

我正在将Ability类中的一些自定义CanCan操作更改为使用块而不仅仅是哈希,但现在他们已经停止实际限制访问。奇怪的是,内置的操作如:manage和:create等似乎仍然能够正常运行。

这是一个例子:

OLD

# this one works
can :share, Project, :user_id => user.id

NEW

# this one doesn't work
can :share, Project do |project|
  project.users.exists?(user)
end

之前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不能对你不受欢迎的行为说多少,但你可能不应该改变哈希来阻止,因为这些哈希使你能够获取记录。 在CanCan wiki中仔细阅读this article