मुझे उत्पादन मोड में काम करने के लिए रेल 3.1 संपत्ति पाइपलाइन प्रीकंपिलेशन नहीं मिल सकता है। यह हमेशा की तरह एक त्रुटि के साथ एससीएसएस भीतर संदर्भित छवियां पर विफल रहता है:रेल पर रूबी 3.1 संपत्तियां: प्रीकंपाइल और छवियां
$ bundle exec rake assets:precompile RAILS_ENV=production
rake aborted!
rails.png isn't precompiled
(in /home/florian/AssetTest/app/assets/stylesheets/application.css.scss)
लेकिन जब मैं सार्वजनिक/संपत्ति निर्देशिका में देखने के लिए, छवि होती है, तो यह precompiled है:
$ ls public/assets | grep rails
rails-dd352fc2630e5f9aa5685ef1d7fe5997.png
एससीएसएस
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*= require_tree .
*/
body {
background: #ffffff image-url('rails.png') no-repeat 0 center;
}
मैं एससीएसएस में छवि यूआरएल सहायक, लेकिन सिर्फ यूआरएल ('/ आस्तियों/rails.png') का उपयोग नहीं करते हैं, तो precompilation ठीक काम करता है, और इस मामले में फ़ाइल बस कुछ परीक्षण कोड शामिल एक manifest.yml फ़ाइल जी है सार्वजनिक/संपत्ति में उत्साहित।
दिलचस्प बात यह है कि: यदि मैं एससीएसएस को छवि-यूआरएल ('rails.png') में वापस बदलता हूं और एक और प्रीकंपिलेशन चलाता हूं, तो यह अभी भी काम करता है (मुझे लगता है क्योंकि छवि अब पहले से ही मैनिफेस्ट फ़ाइल में सूचीबद्ध है)।
क्या मैं गलत यहाँ कर रहा हूँ? मैं वास्तव में सहायक विधियों को नजरअंदाज नहीं करना चाहता हूं (जैसा कि उनका उपयोग करना आपको यह करना चाहिए, है ना?), और मैं निश्चित रूप से मैनिफेस्ट फ़ाइल को मैन्युअल रूप से नहीं बनाना चाहता ...
बस जिथब मुद्दे में सुझाए गए अनुसार रेल 3.1.1rc1 को अपडेट किया गया है, और यह काम करता है :-) – fwalch
यह उत्तर इस कारण से बुरा लगता है: http://stackoverflow.com/questions/8821864/config-assets-compile- सच में रेल उत्पादन-क्यों-नहीं – Ringo