В моем проекте было 2 модели: AdminUser и Пользователь .
Я удалил модель AdminUser (и связанные таблицы БД)и теперь я использую свою модель Пользователь с методом admin?
(в таблице пользователей было указано логическое поле администратора)
Документация ActiveAdmin:
Вы можете пропустить пользовательский класс Devise все вместе, используя флаг skip-users:
$> rails generate active_admin:install --skip-users
ПРИМЕЧАНИЕ. Если вы не используете настройки пользователя по умолчанию, вам нужно будет настроить их вconfig / intializers / active_admin.rb для удовлетворения ваших потребностей.
Вот что я нашел в инициализаторе:
config.authentication_method = :authenticate_admin_user!
config.current_user_method = :current_admin_user
Итак, я изменил application_controller.rb
как:
def authenticate_admin_user!
render(:file => "#{Rails.root}/public/403.html", :status => 403, :layout => false) and return if user_signed_in? && !current_user.admin?
authenticate_user!
end
def current_admin_user
return nil if user_signed_in? && !current_user.admin?
current_user
end
И в маршрутизацииМоя цель - иметь 1 модель пользователя, но 2 отдельные страницы входа:
- / users / sign_in (вход по умолчанию для устройства)
- / admin (вход ActiveAdmin)
На данный момент, когда я пытаюсь получить доступ к / admin , я перенаправлен на /users / sign_in страница: - (
Спасибо за советы ...