2011-02-03 2 views
5

Я знаю, что это звучит как-то орехи, но я создаю двигатель, который будет владеть и связывать несколько приложений, и поскольку все приложения будут использовать данный плагин, мне было интересно, могу ли я просто поместите плагин в двигатель.Рельсы 3: Включая плагин внутри двигателя

Поэтому я поместил его внутри поставщика/плагинов, но, похоже, он не загружен.

Я играл с autoload_paths и require, но я не был успешным.

Кто-нибудь знает, возможно ли это? Или у вас есть идея о том, что я могу попробовать?

Спасибо!

+1

Определение «двигатель» с точки зрения того, что вы делаете. – coreyward

+0

Я только что создал стандартный Rails Engine, и я добавляю его в качестве драгоценного камня для каждого приложения. – Ivan

+0

Какие версии рельсов вы используете? в rails 2.3. * вы можете использовать config.plugin_paths = ["# {Rails.root}/vendor/plugins", "# YOUR_PLUGIN_PATH}/vendor/plugins"] в вашей среде.rb – andrea

ответ

6

После некоторых пустячный, это то, что я нашел работы и кажется правильным:

module MyEngine 
    class Engine < Rails::Engine 
    config.after_initialize do 
     Rails.application.config.paths.vendor.plugins.push File.expand_path('../../vendor/plugins', __FILE__) 
    end 
    end 
end 
+0

Ничего себе, спасибо! Это именно то, что мне нужно. – ndbroadbent

+0

Удивительный, спасибо! –