Я только что вскочил на Rails за последние несколько месяцев и столкнулся с моей первой реальной проблемой в моем текущем проекте, который мне не удалось найти ответ для.Как ограничить доступ к моделям в Ruby on Rails 4 с помощью Pundit и Rolify
Моя цель - реализовать мелкозернистый контроль над тем, какие роли/группы (группы) пользователя, созданные из Rolify и контролируемые Pundit, имеют доступ к определенной категории, подкатегории или статье через консоль администратора Upmin. Категория/статья должна позволять нескольким пользователям/группам доступ к ее содержимому.
Ответ here демонстрирует определение роли для конкретного экземпляра модели, что приятно, но я также хотел бы иметь этот элемент управления из экземпляра модели через простую форму флажка в консоли приложений (Upmin_admin для тех, интересно).
Я прав, думая, что для создания этой функции не так уж много, кроме создания частичного экземпляра экземпляра категории/статьи в консоли администратора, в котором перечислены все роли/группы и их текущие настройки CRUD для этого конкретный экземпляр категории/статьи. Или мне не хватает нескольких промежуточных шагов?
Подсказка в правильном направлении была бы принята с благодарностью. Спасибо!
Некоторые фоне моего приложения:
В моем веб-приложение, я вложенные ресурсы, категории, статьи и комментарии, как так:
resources :categories do
resources :articles do
resources :microposts, only: [:new, :create, :edit, :destroy
end
end
(Я знаю, что это не best practice иметь вложенные ресурсы глубже одного уровня, однако я только что вскочил на поезд Rails и: shallow = true не доставлял результаты, которые я искал.)
Категория ies действуют как вложенные множества, предоставленные Awesome Nested Set, и способны «удерживать» как категории, так и статьи (и комментарии по расширению).
Пользователи проходят аутентификацию через сервер LDAP с помощью Devise - в ближайшем будущем я буду настраивать это для того, чтобы автоматически распределить пользователя по правильной группе/роли.