Вы можете посмотреть некоторые плагины авторизации, доступные здесь:
http://www.ruby -toolbox.com / категории / rails_authorization.html
Что касается авторизации / разрешения на уровне объекта, похоже, что canable может сделать это:
http://github.com/jnunemaker/canable
Из примера в файле readme:
class Article
include MongoMapper::Document
include Canable::Ables
userstamps! # adds creator and updater
def updatable_by?(user)
creator == user
end
def destroyable_by?(user)
updatable_by?(user)
end
end
Вы также можете определить viewable_by? метод. Вам все еще понадобятся какие-то поля разрешений или ассоциации в модели документа, но после этого вы можете использовать canable для упрощения авторизации в вашем контроллере / представлениях.