【问题标题】:Routing Error Active Admin and Devise路由错误 Active Admin and Devise
【发布时间】:2014-01-17 20:06:12
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails devise activeadmin


    【解决方案1】:

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

    一般情况下,ActiveAdmin 路由应该在 Devise 之后加载。

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

    尝试将ActiveAdmin.routes(self) 路由移动到最底部(低于标准根目录:)

    【讨论】:

    • 抱歉,忘记包含我的 routes.rb。刚刚编辑了问题
    • 尝试了您的建议。出现语法错误,意外的 '\n',期待 tASSOC (SyntaxErro
    • 所以...显然存在语法错误。你应该先解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多