Как настроить cancan с помощью activeadmin без каких-либо побочных эффектов? - PullRequest
0 голосов
/ 16 января 2019

У меня работает активный код администратора, как показано ниже

ActiveAdmin.register UserProcess, as: 'Summary' do
....
end

active_admin.rb -

config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.cancan_ability_class = "Ability"
config.on_unauthorized_access = :access_denied

Я хочу заблокировать пользователю доступ к этой странице сводки без фактического блокирования его доступа из UserProcess.

добавление cannot :manage, UserProcess работает для страницы, но также не позволяет пользователю получить доступ к другим страницам.

Также мое пространство имен :actadmin

Пожалуйста, дайте мне знать, что нужно написать в классе Способностей

1 Ответ

0 голосов
/ 01 февраля 2019

Я решил аналогичную проблему, создав пользовательскую страницу и применив к ней возможность канкана. В противном случае к ресурсу была применена возможность.

ActiveAdmin.register_page "Summary" do
 menu parent: "UserProcess", label: "Summary"
  content title: "Summary" do
   .......
   .......
  end
end

и примените к нему способность следующим образом:

class Ability
 include CanCan::Ability
  def initialize(users)
   can :manage UserProcess
   cannot :manage, ActiveAdmin::Page, name: "Summary"
  end
end

Если вы нашли к тому времени другое чистое решение, пожалуйста, отредактируйте меня!

...