Интегрировать Mongoid и CanCan - PullRequest
5 голосов
/ 23 сентября 2010

Кто-нибудь пытался переписать CanCan ActiverRecordAddtions для Mongoid http://github.com/ryanb/cancan/blob/master/lib/cancan/active_record_additions.rb

С уважением, Алексей Захаров

Ответы [ 2 ]

9 голосов
/ 25 сентября 2010

Мне удалось заставить CanCan и Mongoid (версия 2) довольно хорошо работать вместе в приложении rails 3.Тем не менее, иногда возникают ошибки, связанные с условиями в определении разрешений (модель Ability).

Я просто поместил содержимое этой сущности в файл в 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
0 голосов
/ 13 июня 2018

Я знаю, что он старый, но для тех, кто ищет интеграцию с mongoid и cancancan, вы можете попробовать официальный адаптер mongoid

Для версии cacancan gem> 2.0 есть отдельный камень cancacan-mongoid

Имейте в виду, что этот статус драгоценного камня находится "в разработке", но все же он работает довольно хорошо, и сборка проходит

...