5

Have somebody tried to rewrite CanCan ActiverRecordAddtions for Mongoid http://github.com/ryanb/cancan/blob/master/lib/cancan/active_record_additions.rb

Regards, Alexey Zakharov

4

2 回答 2

9

我已经设法让 CanCan 和 Mongoid(第 2 版)在 rails 3 应用程序上很好地协同工作。在权限定义(能力模型)中仍然会出现一些与条件相关的错误。

我只是把这个 gist 的内容放到 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
于 2010-09-24T22:49:26.077 回答
-1

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

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

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

于 2018-06-13T08:12:22.697 回答