bow*_*ior 9

我已经设法让CanCan和Mongoid(版本2)在rails 3 app上很好地协同工作.仍然在这里和那里有一些错误与权限定义中的条件(能力模型)相关.

我只是将这个要点的内容放入config/initializers中的文件中:

条件哈希值与ActiveRecord几乎相同:

# can only manage own account
can :manage, User, :_id => current_user.id
Run Code Online (Sandbox Code Playgroud)

我还在研究如何使用更高级的Mongoid :: Criteria条件,但是你总是可以使用一个块来做更复杂的条件:

# can only manage own account
can :eat, Cake do
  current_user.jobs.any?{ |job| job.title == 'Peasant'}
end
Run Code Online (Sandbox Code Playgroud)