2012-04-08 9 views
12

मुझे रूट फाइलों के रूप में संकलित संपत्तियों को संकलित करने में परेशानी हो रही है।config.assets.precompile विक्रेता/मणि संपत्तियों को जोड़ नहीं रहा

vendor/gems/neo-viz/app/assets/stylesheets/neo-viz.css.scss 
vendor/gems/neo-viz/app/assets/javascripts/neo-viz.js.coffee 
vendor/gems/neo-viz/app/assets/javascripts/lib/jQuery/jquery-1.6.1.min.js 
vendor/gems/neo-viz/app/assets/javascripts/lib/arbor/arbor.js 
निम्न पंक्ति के साथ

:

मैं निम्नलिखित संपत्ति उपलब्ध स्टैंडअलोन करना चाहते हैं (अन्य assets_ के साथ पैक नहीं।

config.assets.precompile += %w(jquery-1.6.1.min.js arbor.js neo-viz.js neo-viz.css) 

केवल सीएसएस फ़ाइल precompiled है और उपलब्ध कराया क्यों

इसके अलावा, इस प्रश्न को देखने के बाद (Including assets in subdirectories with config.assets.precompile in Rails), मैंने कोशिश की:

config.assets.precompile += %w(jquery-1.6.1.min.js arbor.js neo-viz.js neo-viz.css lib/arbor/arbor.js arbor/arbor.js lib/jQuery/jquery-1.6.1.min.js jQuery/jquery-1.6.1.min.js ) 

लेकिन इससे कोई फर्क नहीं पड़ता। विचार?

उत्तर

18

डिफ़ॉल्ट रूप से रेल केवल 3 स्थानों में दिखता है: app/assets, lib/assets या vendor/assets। स्प्राकेट्स उप-निर्देशिका javascripts में जेएस संपत्तियों की तलाश में हैं। जैसे

app/assets/javascripts/arbor.js 
lib/assets/javascripts/arbor.js 
vendor/assets/javascripts/arbor.js 

आप देखने के लिए जहां रेल लग रही है आप कंसोल में इसका उपयोग कर सकते के लिए करना चाहते हैं: Rails.application.config.assets.paths

आप क्या कर सकते पाइपलाइन के लिए अपने कस्टम पथ को जोड़ने है:

# @file: config/application.rb 
config.assets.paths << Rails.root.join("vendor", "gems", "neo-viz", "app", "assets", "javascripts") 

फिर एक मैनिफेस्ट बनाएं, जहां आप अपनी जेएस फाइलें शामिल करते हैं:

# @file: /vendor/gems/neo-viz/app/assets/javascripts/neo-viz.js 
//= require lib/jQuery/jquery-1.6.1.min 
//= require lib/arbor/arbor 
//= require neo-viz 

अंत में जोड़ें अपने प्रकट:

config.assets.precompile += %w(neo-viz.js)' 

आप अभी भी उन separatly जोड़ने के लिए है, जो मैं बात नहीं दिख रहा है चाहते हैं, यही कारण है कि एक प्रकट में उन्हें शामिल नहीं है, तो आप सभी संभव पथ का प्रारंभिक भाग को जोड़ने के लिए तो होगा रेल जानता है देखने के लिए जहां:

# @file: config/application.rb 
config.assets.paths << Rails.root.join("vendor", "gems", "neo-viz", "app", "assets", "stylesheets") 
config.assets.paths << Rails.root.join("vendor", "gems", "neo-viz", "app", "assets", "javascripts") 
config.assets.paths << Rails.root.join("vendor", "gems", "neo-viz", "app", "assets", "javascripts", "lib", "jQuery") 
config.assets.paths << Rails.root.join("vendor", "gems", "neo-viz", "app", "assets", "javascripts", "lib", "arbor") 

तो फिर तुम इस तरह से उन्हें जोड़ सकते हैं, संपत्ति के बाद से एक प्रकट बाहर precompile सरणी में जोड़ा जाना चाहिए:

config.assets.precompile += %w(jquery-1.6.1.min.js arbor.js neo-viz.js neo-viz.css) 

स्रोत: 2.1 Asset Organization

+1

यह बहुत उपयोगी था। यह इतना लंबा समय रहा है, लेकिन इस उत्तर को _accepted_ imo के रूप में चेक किया जाना चाहिए। – sargas

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