路由错误活动管理和设计

时间:2014-01-17 20:06:12

标签: ruby-on-rails devise activeadmin

尝试访问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'

1 个答案:

答案 0 :(得分:0)

您的routes.rb文件是什么样的?路线从上到下按优先级加载,这就是为什么按正确的顺序放置它们的重要性。

通常,应在Devise之后加载ActiveAdmin路由。

devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)

尝试将ActiveAdmin.routes(self)路由移至最底层(标准根目录下方为:)