2011-12-13 3 views
1

Я работаю над небольшим движком рельсов, и я превратился в драгоценный камень. Для управления базой данных я хочу использовать ActiveAdmin.Включить ActiveAdmin в gem

Я добавил ActiveAdmin в свой список зависимостей gem, и когда я устанавливаю камень в своем приложении, я копирую инициализатор active_admin в config/initializers/в проекте, который использует драгоценный камень.

Однако - по какой-то причине это делает приложение завершаться с ошибкой:

uninitialized constant ActiveAdmin 

Если добавить «activeadmin» проектам Gemfile запустить его большой - но это не так, и я не понимаю, почему я нужно сделать это. Я хочу, чтобы мой драгоценный камень был как можно более изолированным.

Любая помощь приветствуется.

+0

Я полагаю, вы не перезапустили сервер. Это? – Ninad

ответ

2

Возможно, вам потребуется вручную активировать activeadmin из railtie (Rails 3.x) или инициализатора (Rails 2.x). Также может быть разумным переместить ваш config/initializers/active_admin.rb в двигатель. Что-то вроде этого для Rails 3.x (поместить его в Lib/my_gem/engine.rb)

require 'activeadmin' 

class MyGem::Engine < Rails::Engine 
    initializer do 
    # Do the same what you did in config/initializers/ of rails project 
    end 
end 
+0

Спасибо. Я должен признать, что я просто ел обед, когда понял, что забыл его потребовать. Но спасибо за ответ в любом случае :) Однако - у меня есть следующий вопрос, если вы не возражаете. Я добавил требуемую часть, но теперь я получаю эту ошибку: «uninitialized constant MyModule :: Admin». – Markus

+0

У меня такая же проблема, и у меня нет подсказки о том, как ее исправить. – Papipo

0

Is MyModule :: Admin: Ваш класс? Каков его путь в драгоценности? Если это не в приложении/dir, вам может потребоваться добавить следующее в lib/my_module.rb

 
    module MyModule 
     extend ActiveSupport::Autoload 
     autoload :Admin 
    end 
+0

Нет, это не мой класс. Я полагаю, что это часть ActiveAdmin, которую мой камень думает, должен быть в MyModule :: но на самом деле просто снаружи , – Markus

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