Как настроить страницу входа по умолчанию в ActiveAdmin?

Проблема

Я пытаюсь настроить страницу входа по умолчанию в ActiveAdmin, но у меня возникли проблемы с тем, чтобы настроить настройки.

Что я пробовал

Комментарии Этот эпизод RailsCasts предлагает скопировать этот файл на app/views/active_admin/devise/sessions/new.html.erb и настроить его оттуда, Однако это не похоже на форму входа по умолчанию.

Я также попытался заменить devise_for :admin_users, ActiveAdmin::Devise.config на devise_for :admin_users, как предлагает комментатор, который, кажется, указывает маршруты в нужное место, но я получаю кучу ошибок сервера, связанных ни с одной из переменных ActiveAdmin, которые распознаются в этом контексте.

Я искал документы, но мне не удалось найти документацию по настройке формы входа в систему.

Вопрос

Каков наилучший способ настройки формы входа в ActiveAdmin?

Ответы

Ответ 1

С конфигурацией по умолчанию ActiveAdmin, где ресурс Devise admin_user, ваш new.html.erb должен идти в app/views/admin_users/sessions/new.html.erb вместо этого.

Простым способом копирования всех шаблонов разработки является rails g devise:views admin_users, хотя, как оказалось, ActiveAdmin имеет свои собственные версии этих представлений: https://github.com/gregbell/active_admin/tree/master/app/views/active_admin/devise

Если вы дополнительно пытаетесь изменить макет, который отображает Devise new.html.erb, вы можете скопировать файл макета из ActiveAdmin в app/views/layouts/active_admin_logged_out.html.erb

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

https://github.com/gregbell/active_admin/blob/master/app/views/layouts/active_admin_logged_out.html.erb

Ответ 2

Сначала скопируйте все виды разработки в ваше приложение:

rails g devise:views admin_users

Второе добавление config.scoped_views = true внутри файла config/initializers/devise.rb сделает трюк.

Таким образом, вам не нужно переопределять шаблоны active_admin.