2013-06-11 114 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