मेरे पास एक रेल 3.1 परियोजना है जिसमें संपत्ति पाइपलाइन महान काम कर रही है। समस्या यह है कि मुझे अपने सास में छवियों का संदर्भ देने की आवश्यकता है, लेकिन रेल छवि यूआरएल की गणना करता है। (यह उत्पादन, जहां रेल उसके फ़ाइलनाम करने के लिए छवि का Git हैश संलग्न कर देता है कैश खराब करने के लिए विशेष रूप से महत्वपूर्ण है।)रेल 3.1 का उपयोग करते समय मैं सैस में संदर्भ छवियों का उपयोग कैसे करूं?
उदाहरण के लिए, app/assets/stylesheets/todos.css.scss
में:
.button.checkable { background-image: url(/assets/tick.png); }
जब मैं तैनात (या rake assets:precompile
चलाने) , फ़ाइल app/assets/images/tick.png
को public/assets/tick-48fe85c0a.png
या इसी तरह के कुछ स्थानांतरित कर दिया गया है। यह सीएसएस तोड़ता है। - इसके बजाय उन्हें public/images/
में डाल दिया और उन्हें सीधे
- छवियों के लिए संपत्ति पाइपलाइन उपयोग नहीं करते: This post दो सुझाव बनाते हैं।
संख्या 1 निश्चित रूप से एक संभावना है, हालांकि इसका मतलब है कि मुझे अपनी छवियों पर कैश-बस्टिंग नहीं मिलती है। संख्या 2 बाहर है क्योंकि मैं फ़ाइलों का संसाधित करने के लिए एसएएस का उपयोग कर रहा हूं, ईआरबी नहीं।
बस एक छोटा सुधार: आपको {property_type} -url या -path, _path नहीं, sass या scss (अंडरस्कोर के बजाए डैश) का उपयोग करने की आवश्यकता है (https://github.com/rails/sass-rails#features देखें) – ndbroadbent