2016-11-11 2 views
1

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

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 

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

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

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

ответ

3

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

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

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

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

+1

Спасибо, что вернулись. Я добавил класс способности, но теперь он переходит в цикл forever и говорит, что localhost не запускается, даже если это так. Я также переименовал класс в AdminAbility, но он дает мне неинициализированную константу AdminAbility (NameError) на старте сервера. – Waqas

+0

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

Смежные вопросы