尝试访问http://localhost:3000/admin
下的Active Admin信息中心时,我会被重定向到http://localhost:3000/users/sign_in
。但是,我的路径显示/admin
路径。
admin_root_path GET /admin(.:format) admin/dashboard#index
admin_dashboard_path GET /admin/dashboard(.:format) admin/dashboard#index
batch_action_admin_users_path POST /admin/users/batch_action(.:format) admin/users#batch_action
admin_users_path GET /admin/users(.:format) admin/users#index
和
new_user_session_path GET /users/sign_in(.:format) devise/sessions#new
user_session_path POST /users/sign_in(.:format) devise/sessions#create
任何人都知道为什么会这样吗?
修改
的routes.rb
Myapp::Application.routes.draw do
ActiveAdmin.routes(self)
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
root 'static_pages#home'
match '/help', to: 'static_pages#help', via: 'get'
match '/about', to: 'static_pages#about', via: 'get'
match '/contact', to: 'static_pages#contact', via: 'get'
答案 0 :(得分:0)
您的routes.rb
文件是什么样的?路线从上到下按优先级加载,这就是为什么按正确的顺序放置它们的重要性。
通常,应在Devise之后加载ActiveAdmin路由。
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
尝试将ActiveAdmin.routes(self)
路由移至最底层(标准根目录下方为:)