整合Mongoid和CanCan

时间:2010-09-23 08:51:17

标签: ruby-on-rails mongoid cancan

有人试图重写CanCan ActiverRecordAddtions Mongoid http://github.com/ryanb/cancan/blob/master/lib/cancan/active_record_additions.rb

此致 Alexey Zakharov

2 个答案:

答案 0 :(得分:9)

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

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

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

# can only manage own account
can :manage, User, :_id => current_user.id

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

# can only manage own account
can :eat, Cake do
  current_user.jobs.any?{ |job| job.title == 'Peasant'}
end

答案 1 :(得分:-1)

我知道这是一个旧的,但对于那些搜索mongoid和cancancan集成的人,你可以试试官方的mongoid适配器

对于cacancan gem版本> 2.0,有单独的gem cancacan-mongoid

请记住,这个宝石状态是“正在开发中”,但它仍然运行良好并且构建传递