मैं अपने लोकहोस्ट पर उत्पादन वातावरण में अपने रेल 4 ऐप का परीक्षण कर रहा हूं: 3000 में निर्मित वेब्रिक सर्वर का उपयोग कर। जब मैं RAILS_ENV=production bundle exec rake assets:precompile
चलाता हूं तो संपत्तियों को सार्वजनिक रूप से पुनर्निर्मित किया जाता है और मैनिफेस्ट का पुनर्निर्माण किया जाता है, लेकिन पृष्ठों को अभी भी पिछले संपत्ति नामों के साथ परोसा जाता है।प्रीकंपील्ड संपत्तियों को रीफ्रेश करने के लिए मैं रेल सर्वर कैसे प्राप्त करूं?
रेल सर्वर को पुनरारंभ करने से नई संपत्तियां दिखाई देती हैं। क्या यह हासिल करने के लिए एक कम चरम तरीका है और जब मैं इसे अपने उत्पादन सर्वर पर फ़्यूज़न पैसेंजर चलाता हूं तो यह कैसे व्यवहार करेगा। मैं वास्तव में गियर में अपनी संपत्ति प्राप्त करने के लिए अपाचे को पुनरारंभ नहीं करना चाहता हूं।
क्या संकलित संपत्तियों के लिए फिंगरप्रिंटिंग सक्षम है? –
हां, संकलित संपत्ति फिंगरप्रिंट हैं। विन्यास डिफ़ॉल्ट रेल 4 है, सिवाय इसके कि 'config.serve_static_assets = true' जिसे वीब्रिक'/public' से 'संपत्तियों की सेवा करने के लिए आवश्यक है,' config.assets.digest = true' सेट है। संपत्तियों में 'application-01d7312dee865ebe9d525b15f2fbe7f0.css' जैसे नाम हैं, यह वह मान है जो पृष्ठ शीर्षलेख में है। समस्या यह है कि पुराने संस्करण का निर्माण अभी भी एक नए के निर्माण के बाद किया जा रहा है। –
पुराने संस्करण का मतलब है, क्या आपने सामग्री बदल दी है? यदि आपने संपत्तियों की सामग्री को नहीं बदला है, तो प्रीकंपिल्ड संस्करण पिछले जैसा ही होगा और यदि आप इसे थोड़ा सा भी बदलते हैं, तो फिंगरप्रिंट बदल जाएगा और ऐप केवल नए कॉन्फ़िगरेशन के रूप में अनुरोध करेगा। assets.digest = true'। –