Может ли CanCan использовать Active Admin? - PullRequest
6 голосов
/ 20 июля 2011

Я использую Devise и CanCan для авторизации во внешнем интерфейсе приложения Rails 3. У меня также есть Active Admin в качестве интерфейса для бэкэнда. Я пытаюсь создать разные роли для администраторов в бэкэнде. На обоих концах есть форма входа в систему, которая использует разные «пользовательские» модели и таблицы. Проблема в том, что CanCan извлекает текущего пользователя из внешнего интерфейса (захватывает текущий объект пользователя) и использует его, чтобы проверить, есть ли у кого-то в бэкэнде правильные разрешения.

Итак, как я могу, чтобы CanCan правильно получал имя администратора, который вошел в систему?

Если кому-то понадобится дополнительная информация, я буду рад предоставить ее.

1 Ответ

9 голосов
/ 20 июля 2011

Я не использовал ActiveAdmin раньше, но использовал Devise and Cancan в нескольких проектах ранее.

Посмотрев на Документация активного администратора ,

Установите метод, который контроллеры должны вызывать для аутентификации текущего пользователя:

  # config/initializers/active_admin.rb
  config.authentication_method = :authenticate_admin_user!

Установить метод для вызова в представлении для доступа к текущему администратору

  # config/initializers/active_admin.rb
  config.current_user_method = :current_admin_user

Вы можете переопределить поведение Cancan в своем приложении, посмотрев на :current_admin_user вместо :current_user.

См. Здесь Cancan, изменяющий значения по умолчанию .
Если вы все еще не можете получить его, опубликуйте свои проблемы, где вы застряли.

...