В настоящее время я использую Rails 4.1.14 с CanCanCan 1.13.1 и определил детальные разрешения на уровне модели / записи. Администраторы могут управлять всеми статьями, но пользователи могут редактировать только статьи, написанные ими.
Чтобы обычные пользователи не могли редактировать определенные поля, я делаю поля видимыми в rails_admin в зависимости от роли.
visible do
bindings[:object].id == bindings[:view].current_user.roles.include? :admin
end
Я также использую гем https://github.com/aasm/aasm и создал настраиваемые действия, чтобы пользователь мог перемещать записи в новые состояния.
Но что мне действительно нужно, так это включить разрешения на уровне поля в зависимости от роли / записи пользователя. Я не могу найти никаких документов на страницах CanCanCan или https://github.com/elabs/pundit.
У кого-нибудь есть опыт в этом?