Я создал модель Admin
с жемчужиной Devise.Используя генератор контроллеров Devise, у меня теперь есть папка app/controllers/admins
, содержащая все стандартные контроллеры, которые я могу изменить, например, sessions_controller
, passwords_controller
и т. Д.
Однако я могу 'не могу понять, как получить Admin
контроллер и простые admin
маршруты, такие как admin_path
или new_admin_path
.
Вот мой rake routes | grep admin
new_admin_session GET /admin/sign_in(.:format) admins/sessions#new
admin_session POST /admin/sign_in(.:format) admins/sessions#create
destroy_admin_session DELETE /admin/sign_out(.:format) admins/sessions#destroy
new_admin_password GET /admin/password/new(.:format) devise/passwords#new
edit_admin_password GET /admin/password/edit(.:format) devise/passwords#edit
admin_password PATCH /admin/password(.:format) devise/passwords#update
PUT /admin/password(.:format) devise/passwords#update
POST /admin/password(.:format) devise/passwords#create
admin_root GET /admin(.:format) admins/sessions#portal
admin_sign_out GET /admin/sign_out(.:format) admin/sessions#destroy
А вотсоответствующие части моего routes.rb
devise_for :admins, path: 'admin', controllers: { sessions: 'admins/sessions' }
devise_scope :admin do
get "/admin", to: 'admins/sessions#portal', as: 'admin_root'
get "/admin/sign_out", to: 'admin/sessions#destroy', as: 'admin_sign_out'
end
Вы увидите, что в настоящее время у меня есть portal
метод в моем Admin::SessionsController
, который является моим текущим обходным решением.Я знаю, что правильное место для этой страницы находится в AdminsController
, но я не могу понять, как его настроить.
Добавление admins: 'admins/admins'
в блок devise_for :admins, controllers:
не дает мне ничего новогомаршруты.Я попытался добавить AdminsController
с методами, но это тоже не помогает, пытаясь перейти к /admin/new
или /admins/new
, где не найдено ни одного маршрута.