2011-02-03 13 views
5

मुझे पता है कि यह थोड़े नट्स लगता है, लेकिन मैं एक इंजन बना रहा हूं जो कई अनुप्रयोगों को शक्ति और बांध देगा, और चूंकि सभी एप्लिकेशन एक दिए गए प्लगइन का उपयोग करेंगे, मैं सोच रहा था कि मैं कर सकता था या नहीं बस प्लगइन इंजन में डाल दिया।रेल 3: इंजन के अंदर एक प्लगइन सहित

तो मैंने इसे विक्रेता/प्लगइन के अंदर रखा, लेकिन ऐसा लगता है कि यह लोड नहीं हुआ है।

मैं autoload_paths और require के साथ खेल रहा हूं, लेकिन मैं सफल नहीं हुआ हूं।

क्या किसी को पता है कि यह संभव है? या क्या आपको पता है कि मैं क्या कोशिश कर सकता हूं?

धन्यवाद!

+1

आप क्या कर रहे करने के मामले में परिभाषित करें "इंजन"। – coreyward

+0

मैंने अभी मानक रेल इंजन बनाया है और मैं इसे प्रत्येक ऐप पर एक मणि के रूप में जोड़ रहा हूं। – Ivan

+0

आप किस रेल संस्करण का उपयोग कर रहे हैं? रेल 2.3 में। * आप config.plugin_paths = ["# {Rails.root}/विक्रेता/प्लगइन्स", "# {YOUR_PLUGIN_PATH}/विक्रेता/प्लगइन्स"] अपने पर्यावरण में उपयोग कर सकते हैं। आरबी – 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

बहुत बढ़िया, धन्यवाद! –

संबंधित मुद्दे