2013-06-11 78 views
2

我刚将一个Rails应用程序迁移到3.1。 Active Admin现在是0.6.0。这是我的routes.rbActive Admin未初始化常量Admin :: DashboardController

AppName::Application.routes.draw do 
    root :to => "homepage#index" 

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

因此,根在ActiveAdmin路由之前被声明。我们我开始在开发服务器和我重新加载浏览器我在这里得到了ActiveAdmin接口:

http://localhost:3000/admin 

当我重新加载网址获得:

uninitialized constant Admin::DashboardController 

回答

3

我发现了几个问题:

  1. 资产发生器必须在更新后最好执行;
  2. 控制器/管理员与ActiveAdmin路由冲突;
  3. 根指令应该在ActiveAdmin路由之前定义。

要修正一个号码:

$> rails generate active_admin:assets 

固定两个数:

config.default_namespace = :your_desired_namespace 

要修复3号只是移动根向上(在配置/ routes.rb中)

+0

那为我修复了一些东西,但我仍然得到一个无路由匹配[GET]“/ admin/authentications”...我曾经拥有自己的admin_controller,但是我已经重命名了它,所以它不应该发生冲突。然而,我试图改变命名空间,但仍然存在路由错误。还有什么想法? – zabumba

+1

由于您已将您的管理员控制器重命名,因此我不会设置config.default_namespace并查看您是否可以访问/ admin。它一定是一个简单的错误。我会使用'bundle exec rake routes'并查看生成的路由以了解问题所在。 – rtacconi