我正在将 Ability 类中的一些自定义 CanCan 操作更改为使用块而不是仅使用哈希,但现在它们实际上已停止限制访问。奇怪的是,像 :manage 和 :create 等内置操作似乎仍然可以很好地处理这些块。
这是一个例子:
老的
# this one works
can :share, Project, :user_id => user.id
新的
# this one doesn't work
can :share, Project do |project|
project.users.exists?(user)
end
以前有人遇到过这个问题吗?