2013-01-07 35 views
56

मैं अपने आवेदन के लिए रेल 4 & रूबी 1.9.3 का उपयोग कर रहा हूं और fancybox2-rails मणि, लेकिन संपत्ति पाइपलाइन के साथ एक सामान्य समस्या है। यदि मैं प्रीकंपाइल के लिए rake task चलाता हूं, तो vendor/assets/images और ../gems/ruby-1.9.3-p327/gems/fancybox2-rails-0.2.1/vendor/assets/images में छवियों को छोड़कर सब कुछ ठीक है। इन दो फ़ोल्डर्स की छवियों को प्रीकंपल नहीं किया जा रहा है और अंत में मुझे गैर-मौजूदा छवियों के मृत लिंक के साथ समस्या है। कोई सुझाव?रेल 4 संपत्ति पाइपलाइन विक्रेता संपत्तियों की छवियों को प्रीकंपिल्ड नहीं किया जा रहा है

उत्तर

77

ऐसा लगता है कि छवियों को केवल ऐप/संपत्ति फ़ोल्डर से डिफ़ॉल्ट रूप से शामिल किया गया है। application.rb

config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) 
+3

यह मेरे लिए काम कर रहा है, लेकिन यह सेटिंग * कॉन्फ़िगरेशन/वातावरण/production.rb फ़ाइल में जाना चाहिए। हालांकि, यह वर्तमान में रेल 4.0.0.beta1 में टूट गया है (https://github.com/rails/rails/issues/9572 और https://github.com/rails/sprockets-rails/pull/36 देखें) – ottobar

+1

शुरू में मेरे पास 2 छवियां थीं जो लोड नहीं होंगी, fancybox_loading.gif और fancybox_overlay.png, यह निश्चित ओवरले.png लेकिन loading.gif अभी भी काम नहीं करता है। – Jamesla

+0

इसे उत्पादन.आरबी में रखो, लेकिन यह तैनाती पर मदद नहीं करता था। संकलित संपत्तियों में कोई फैंसीबॉक्स छवियां मौजूद नहीं हैं। – Almaron

8

ऐसा लगता है तो समाधान विन्यास के लिए/इस लाइन को जोड़ने के लिए है Sporker कर सकते हैं विक्रेता/आस्तियों/छवियों से नहीं autoload छवियों। एप्लिकेशन/संपत्ति, lib/संपत्ति या विक्रेता/संपत्ति:

2,2 एसेट संगठन पाइपलाइन संपत्ति तीन में से एक स्थानों में एक आवेदन के अंदर रखा जा सकता है।

ऐप/संपत्तियां संपत्तियों के स्वामित्व वाली हैं, जैसे कि कस्टम छवियां, जावास्क्रिप्ट फाइल या स्टाइलशीट।

lib/संपत्ति आपके पुस्तकालयों के कोड के लिए है जो वास्तव में एप्लिकेशन के दायरे में या उन पुस्तकालयों में फिट नहीं होती है जो अनुप्रयोगों में साझा की जाती हैं।

विक्रेता/संपत्ति संपत्ति, इस तरह जावास्क्रिप्ट प्लगइन्स के लिए कोड और सीएसएस के रूप में है कि बाहर संस्थाओं के स्वामित्व में हैं के लिए है चौखटे

वर्णन guides.rubyonrails.org से आते से, मुझे नहीं लगता कि वे नजरअंदाज कर दिया विक्रेता/आस्तियों/बिना किसी इरादे वाली छवियां।

तो मैं सिर्फ पालन रेखा कहा:

#config/application.rb 
config.assets.paths << Rails.root.join("vendor", "assets", "images") 

और, मैं मेरी समस्या हल। मुझे आशा है कि यह आपके लिए काम करेगा।

+6

यह मेरे लिए काम नहीं किया। – newUserNameHere

+1

रेल 4.1.5 पर काम नहीं किया –

4

मेरी रेल 4.2.x परियोजना के लिए, मैं सिर्फ vendor/assets/images को विक्रेता छवियों चले गए और application.rb को यह कहा: विकास और उत्पादन पर

config.assets.precompile += %w(vendor/assets/images/*) 

वर्क्स ठीक।