Нужна помощь в настройке CanCanCan для activeadmin

Мне нужна помощь для настройки CanCanCan с помощью ActiveAdmin. У меня все остальное работает, включая разработку. Я могу ограничить меню, используя devise, но если вы знаете URL, скажем, для редактирования, вы все равно можете редактировать этот ресурс. Я хочу ограничить обычного пользователя от редактирования / создания каких-либо ресурсов, но это не похоже на работу.

Active_Admin.rb

config.cancan_ability_class = ActiveAdmin::CanCanAdapter

Ability.rb (просто из коробки)

class Ability
  include CanCan::Ability

  def initialize(user)
    # Define abilities for the passed in user here. For example:
    #
      # user ||= User.new # guest user (not logged in)
      if user.admin?
        can :manage, Student
      else
        can :read, Student
      end
end
end

Пользовательская модель.

admin:boolean 

и если я войду в систему с пользователем, который не является администратором, я все еще могу создавать / редактировать / удалять, я просто хочу ограничить их только для чтения.

Пожалуйста, помогите, я борюсь с этой единственной функцией, которую мне нужно завершить.

заранее спасибо

1 ответ

Решение

Изменить это думает:

config.authorization_adapter = ActiveAdmin::CanCanAdapter
config.cancan_ability_class = Ability

authorization_adapter сообщает активному администратору, какой адаптер использовать.cancan_ability_class сообщает адаптеру, какой класс он должен использовать.

Если это все еще не работает, попробуйте переименовать Ability в AdminAbility,

Другие вопросы по тегам