2013-06-03 5 views
5

Я получаю сообщение об ошибке при попытке запустить мое приложение, недавно установив ActiveAdmin. Он работал нормально, но, после долгого простоя, внезапно это не так!ActiveAdmin - неинициализированная константа AdminUser

В моем гем файле:

gem 'activeadmin' 

В моих маршрутах:

devise_for :admin_users, ActiveAdmin::Devise.config 

    ActiveAdmin.routes(self) 

И в моем admin_user.rb

ActiveAdmin.register AdminUser do  
    index do        
    column :email      
    column :current_sign_in_at   
    column :last_sign_in_at   
    column :sign_in_count    
    default_actions     
    end etc.... 

ошибка при попытке запустить:

NameError: uninitialized constant AdminUser 
~/Desktop/Sites/Fleetnation/app/admin/admin_user.rb:1:in `<top (required)>' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:230:in `block in constantize' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:229:in `each' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.11/lib/active_support/inflector/methods.rb:229:in `constantize' 
... 

У кого-нибудь есть идеи? Было бы очень признательно.

+0

Вы перенесли свою базу данных? существует ли приложение/модели/admin_user.rb? –

+0

Yup ... определенно - ошибка запускается в первой строке файла admin_user.rb (ActiveAdmin.register AdminUser делает и т. Д.), Который находится в моей папке администратора. –

+0

Нет, вам не хватает шага. app/admin/admin_user - это панель инструментов, но на самом деле вам нужно иметь приложение/models/admin_user.rb, являющееся объектом ActiveRecord :: Base. –

ответ

7

Попробуйте перезапустить сервер рельсов. Были аналогичные проблемы, которые были устранены после перезагрузки.

+0

Nope ... не исправить это, я боюсь! –

+1

Независимо от того, сколько раз я сталкивался с этой проблемой, я всегда забываю перезагрузить сервер после установки нового драгоценного камня. Затем я вижу такой ответ, и я помню. Благодарю. –

+0

Не могу поверить, что это было исправление. +1 для напоминания о том, что исправления могут быть простыми тоже время от времени. –

-2

Переименовать приложение/models/admin_user.rb в app/models/admin_users.rb помогло мне.

4

Эта ошибка будет выброшена в любое время, когда ваша модель имеет ошибочную связь. Если вы изменили какие-либо ассоциации, но забудьте обновить файл вашей модели, вы получите эту ошибку.

Дважды проверьте свои файлы моделей. Откройте активный администратор локально, чтобы узнать, какую ошибку он вам дает (localhost: 3000/admin). Обычно он говорит uninitialized constant MyModel:MyBadAssociation, поэтому помогает вам диагностировать ошибку.

Смежные вопросы