2013-06-11 3 views
2

Я просто перенесла приложение Rails на 3.1. Активный Admin теперь 0.6.0. Это мои маршруты.rbActive Admin uninitialized constant Admin :: DashboardController

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

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

Так root объявлен перед маршрутами ActiveAdmin. Мы запускаем сервер в разработке и я перезагрузить браузер я получаю интерфейс ActiveAdmin здесь:

http://localhost:3000/admin 

Когда я перезагружать, что URL я получаю:

uninitialized constant Admin::DashboardController 

ответ

3

Я нашел несколько вопросов:

  1. Генератор активов должен наилучшим образом выполнить после обновления;
  2. контроллеры/административные конфликты с маршрутом ActiveAdmin;
  3. Директива root должна быть определена до маршрута ActiveAdmin.

Чтобы исправить номер один:

$> rails generate active_admin:assets 

Чтобы исправить номер два:

config.default_namespace = :your_desired_namespace 

Чтобы исправить номер три просто переместить корень вверх (в конфигурации/routes.rb)

+0

что исправлено несколько вещей для меня, но я все еще получаю «Нет маршрутов» [GET] »/ admin/authentications» ... У меня был собственный администратор, но я переименовал его, поэтому он не должен конфликтовать. Тем не менее я попытался изменить пространство имен, как вы предлагали, но все еще имеет ошибку маршрутизации. Какие-нибудь дальнейшие идеи? – zabumba

+1

Поскольку вы переименовали вас в контроллер администратора, я бы не установил config.default_namespace и не смог ли вы получить доступ/admin. Это должна быть простая ошибка. Я бы использовал 'bundle exec rake routes' и увидел сгенерированные маршруты, чтобы понять, где проблема. – rtacconi