[英]Rails Devise & ActiveAdmin single model routes
我正在使用Devise和ActiveAdmin,我讓他們通過is_admin標志共享一個users
表。 我的路線文件如下所示:
Site::Application.routes.draw do
devise_for :users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
end
這給了我這些路線
Prefix Verb URI Pattern Controller#Action
new_user_session GET /admin/login(.:format) active_admin/devise/sessions#new
user_session POST /admin/login(.:format) active_admin/devise/sessions#create
destroy_user_session DELETE|GET /admin/logout(.:format) active_admin/devise/sessions#destroy
user_password POST /admin/password(.:format) active_admin/devise/passwords#create
new_user_password GET /admin/password/new(.:format) active_admin/devise/passwords#new
edit_user_password GET /admin/password/edit(.:format) active_admin/devise/passwords#edit
PATCH /admin/password(.:format) active_admin/devise/passwords#update
PUT /admin/password(.:format) active_admin/devise/passwords#update
cancel_user_registration GET /admin/cancel(.:format) devise/registrations#cancel
user_registration POST /admin(.:format) devise/registrations#create
new_user_registration GET /admin/sign_up(.:format) devise/registrations#new
edit_user_registration GET /admin/edit(.:format) devise/registrations#edit
PATCH /admin(.:format) devise/registrations#update
PUT /admin(.:format) devise/registrations#update
DELETE /admin(.:format) devise/registrations#destroy
我希望管理儀表板可以從/admin
,但我希望用戶管理部分可以從/users
。 所以new_user_session
將在/users/login
而不是/admin/login
。
有人做到了嗎?
事實證明,您可以通過從設計中省略ActiveAdmin來實現此目的。 而不是這個:
Site::Application.routes.draw do
devise_for :users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
end
做這個:
Site::Application.routes.draw do
devise_for :users
ActiveAdmin.routes(self)
end
Active Admin本身可以配置為/
:
# config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
config.default_namespace = false
# ...
end
同時,可以將各個頁面配置為自定義命名空間:
# app/admin/dashboard.rb
ActiveAdmin.register_page 'Dashboard', namespace: :admin do
# ...
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.