2011-02-03 19 views
5

So che sembra un po 'pazzo, ma sto costruendo un motore che alimenterà e legherà diverse applicazioni, e poiché tutte le applicazioni utilizzeranno un determinato plug-in, mi chiedevo se potevo basta inserire il plugin nel motore.Rails 3: incluso un plug-in all'interno di un motore

Quindi l'ho inserito nel fornitore/plug-in, ma sembra che non sia stato caricato.

Ho giocato con autoload_paths e require, ma non ho avuto successo.

Qualcuno sa se questo è possibile? O hai un'idea su cosa potrei provare?

Grazie!

+1

Definire "motore" in termini di quello che stai facendo. – coreyward

+0

Ho appena creato Rails Engine standard e lo aggiungo come un gioiello su ogni app. – Ivan

+0

Quale versione di rotaie stai usando? nei binari 2.3. * potresti usare config.plugin_paths = ["# {Rails.root}/vendor/plugins", "# {YOUR_PLUGIN_PATH}/vendor/plugins"] nel tuo ambiente. – andrea

risposta

6

Dopo un po 'giocherellare, questo è quello che ho trovato lavori e sembra corretto:

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

Wow, grazie! Questo è esattamente ciò di cui avevo bisogno. – ndbroadbent

+0

Fantastico, grazie! –

Problemi correlati