2011-11-19 23 views
6

जब मैं विकास सर्वर को पुनरारंभ करता हूं तब भी मेरी js.erb फ़ाइलों को पुन: उत्पन्न नहीं किया जा रहा है। क्या हर बार जब मैं सर्वर को पुनरारंभ करता हूं तो सभी जावास्क्रिप्ट संपत्तियों को पुन: उत्पन्न करने के लिए संपत्ति पाइपलाइन को मजबूर करने का कोई तरीका है?संपत्ति पाइपलाइन बल js.erb recompiling

यदि मैं वास्तविक .js.erb स्रोत फ़ाइल को बदलता हूं तो यह ठीक से recompiles, लेकिन कोड डेटाबेस से खींचता है, बीजिंग डेटा पढ़ने जो सर्वर पुनरारंभ के बीच बदल सकता है।

उत्तर

10

देर से कॉल करें, लेकिन इस जगह पर यह समस्या हो रही है, और वास्तव में इससे परेशान होने के कारण, थोड़ा सा खोला गया। यहाँ मेरी समाधान है:

अपने सर्वर को पुन: प्रारंभ पर, rm -rf tmp/cache/*

कि दूर एससीएसएस और अन्य कैश की गई संपत्ति उड़ा देंगे, और एक recompile बाध्य करते हैं।

यदि आप अपने सर्वर को पुनरारंभ करने के लिए रेक या पसंद करते हैं तो आप rake assets:clean चला सकते हैं।

जाहिर है, कर रही है इस सर्वर को पुनः आरंभ करने के लिए थोड़ा द्वारा धीमा कर देती है, लेकिन इस प्रमुख दर्द बिंदु को हटाने के लिए सही हो सकता है ...

+0

अच्छा! यह काम। – spike

1

आपके सर्वर शुरू होने से पहले होने वाली संपत्ति पाइपलाइन के भीतर आपके द्वारा निष्पादित किसी भी रूबी के बारे में सोचें, क्योंकि यह प्रभावी रूप से संपत्ति प्रीकंपाइल चरण के साथ उत्पादन में क्या होता है (और विकास में यदि फाइलें बदलती हैं तो यह ताज़ा हो जाएगी, जैसा कि आप ' वर्णित)। इस मामले में आप उस कोड को नियंत्रक में और अपने ऐप/दृश्य निर्देशिका (html.erb/js.erb) में कुछ प्रतिक्रिया देना चाहते हैं ताकि आपका कोड प्रत्येक अनुरोध पर चलाया जा सके।

+0

मुझे लगता है कि आप मेरे सवाल की गलत व्याख्या कर रहे हैं। हम सर्वर को पुनरारंभ करेंगे यदि जेएस बीज डेटा जो कभी भी परिवर्तन पर निर्भर करता है (यह देश => राज्य मैपिंग जैसी स्थिर सामग्री है)। मेरी समस्या यह है कि * सर्वर पर भी पुनरारंभ होता है * देव में जेएस पुनर्जन्म नहीं होता है। मुझे इसे लेने के लिए वास्तविक स्रोत फ़ाइल (यह अनुमान लगा रहा है कि यह किसी प्रकार का हैशिंग कर रहा है) को बदलना है। – spike

+0

हाँ - मैं इसे अब grok। क्या आपके पास config.assets.debug आपके विकास env में सत्य पर सेट है? मान लीजिए कि ऐसा नहीं है कि आप कुछ संकेतों के लिए https://github.com/wavii/rails-dev-tweaks देख सकते हैं कि हुड के नीचे क्या रेलिंग कर रही है, हालांकि मुझे नहीं लगता कि यह आपकी समस्या को हल करेगा बॉक्स के बाद से यह अक्सर संपत्तियों को संकलित करने की दिशा में तैयार है। –

+0

हाँ 'config.assets.debug' सेट है, संसाधन के लिए धन्यवाद मैं कुछ और खुदाई करूँगा – spike

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