Как настроить страницу входа по умолчанию в 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.