2013-05-03 9 views
18

मैंने सरल रेल आवेदन के विकास शुरू कर दिए हैं। कई घंटों के काम के बाद मैंने नोटिस किया है कि किसी भी तरह से हटाए गए सीएसएस को अभी भी वेब पृष्ठों पर लागू किया गया है।क्या वास्तव में "config.assets.debug" सेटिंग करता है?

  1. रोक/शुरू सर्वर
  2. उपयोग रेल सर्वर
  3. उपयोग torquebox सर्वर
  4. हटाने ब्राउज़र कैश
:

इस समस्या को ठीक करने के लिए मैं निम्न क्रियाओं में कई बार मार डाला

लेकिन कुछ भी नहीं बदलेगा। यह बहुत अजीब था - नई सीएसएस परिभाषाओं को लागू किया गया था, लेकिन जो मैंने हटा दिया है वे अभी भी वहां थे। इसलिए, मैंने छोड़ दिया और नई परियोजना बनाने का फैसला किया।

मैंने नई परियोजना स्थापित की है (इसका मचान पहले जैसा ही है) और जब मैं विचारों में से एक खोलता हूं, तो पुराने प्रोजेक्ट की शैलियों को भी लागू किया जाता था। मैं http://guides.rubyonrails.org/asset_pipeline.html में फिर से देखने के लिए और है कि स्थापित करने

#Expands the lines which load the assets 
config.assets.debug = false 

मुद्दे को हल करती है पता लगाने के लिए फैसला किया है। लेकिन यह विकल्प वास्तव में क्या कर रहा है? पुरानी परियोजनाओं सीएसएस लागू क्यों किया गया था जब यह सच था?

+0

मुझे लगता है कि यह दस्तावेज़ों में स्पष्ट रूप से बताया गया है http://guides.rubyonrails.org/asset_pipeline.html#turning-debugging-off, हालांकि आपका मामला बहुत अजीब है। –

उत्तर

27

इस विकल्प का प्रभाव this post में अच्छी तरह से वर्णित है, लेकिन मैं इसे यहां सारांशित भी करूंगा। config.assets.debug को बदलने का मूल्य विकास में पृष्ठ लोड समय और डिबगिंग में आसानी के बीच एक समझौता है।

मूल रूप से :

config.assets.debug = true: संपत्ति को व्यक्तिगत रूप से सेवा कर रहे हैं, का आयोजन किया बस के रूप में आप उन्हें विकास में देखते हैं। एसएएसएस या कॉफीस्क्रिप्ट जैसी प्रीप्रोसेस्ड भाषाएं अभी भी अपनी लक्षित भाषाओं (यानी, सीएसएस और जेएस, क्रमशः) के रूप में दिखाई देंगी।

config.assets.debug = false: संपत्ति application.css और application.js जैसी फ़ाइलों में बंडल की जाती है। त्रुटि स्टैक निशान की संभावना अब सही रेखा संख्या नहीं होगी और उनको वापस अपने मूल कोड पर मैप करना कठिन होता है।

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