ActiveAdmin и "неинициализированная константа InheritedResources::Base"

Я просто пытаюсь ActiveAdmin. У меня есть панель инструментов и некоторые ресурсы, но теперь, когда я запускаю, например, генератор rails, я получаю:

% rails generate scaffold Post name:string
.../.rvm/gems/ruby-1.9.3-p194@global/gems/rake-0.9.2.2/lib/rake/ext/module.rb:36:in `const_missing': uninitialized constant InheritedResources::Base (NameError)
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/base_controller/menu.rb:2:in `<module:ActiveAdmin>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/base_controller/menu.rb:1:in `<top (required)>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/base_controller.rb:2:in `<top (required)>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/resource_controller/actions.rb:2:in `<module:ActiveAdmin>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/resource_controller/actions.rb:1:in `<top (required)>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/resource_controller.rb:2:in `<top (required)>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/batch_actions.rb:7:in `block in <top (required)>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/event.rb:25:in `call'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/event.rb:25:in `block in dispatch'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/event.rb:24:in `each'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/event.rb:24:in `dispatch'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/application.rb:179:in `load!'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin/application.rb:205:in `routes'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/activeadmin-0.5.0/lib/active_admin.rb:79:in `routes'
    from .../lap-app/config/routes/routes.rb:27:in `block in <top (required)>'
    from .../.rvm/gems/ruby-1.9.3-p194@lap/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:282:in `instance_exec'
    ...

А также routes.rb:27 является:

ActiveAdmin.routes(self)

Я не нашел ничего, что работает для меня ((

Спасибо

2 ответа

Попробуйте переместить ActiveAdmin.routes(self) на вершину, а не в середине или в конце routes.rb файл.

Вы случайно зарегистрировали что-то, что не является моделью (используя rails g active_admin: ИМЯ ресурса)? ActiveAdmin.routes(self) автоматически генерирует маршруты CRUD для ваших зарегистрированных ресурсов, поэтому есть вероятность, что один из этих зарегистрированных ресурсов на самом деле не один.

Если вы хотите зарегистрировать страницу для чего-то, что не является моделью, и вы уже зарегистрировали ее, замените ActiveAdmin.register NAME на ActiveAdmin.register_page "NAME" в.rb.

Другие вопросы по тегам