मैं अपने रेल 3.1 आवेदन पर क्लाउडफ्लारे सीडीएन का उपयोग कर रहा हूं। क्लाउडफ्लेयर एक सीडीएन है जो DNS स्तर पर काम करता है। एक स्थिर संपत्ति पर पहली हिट पर, क्लाउडफ्लेयर इसे आपके ऐप से लोड करता है और फिर इसे अपने सीडीएन में कैश करता है। आपके ऐप के बजाय सीडीएन से उस संपत्ति लोड के लिए भविष्य के अनुरोध।मैं रेल की 3.1 को स्थिर संपत्तियों को कैश करने से Rails.cache में कैसे रोकूं?
config.action_controller.perform_caching = true
यह रैक :: कैश मिडलवेयर सक्षम बनाता है:
समस्या मैं आ रही हैं कि अगर आप सच करने के लिए नियंत्रक कैशिंग सेट है। चूंकि रेल स्थिर परिसंपत्तियों के लिए डिफ़ॉल्ट कैश नियंत्रण सेटिंग सेट करते हैं, इसलिए उन संपत्तियों को Rails.cache स्टोर में लिखा जाता है। नतीजतन मेरा कैश स्टोर (मेरे मामले में रेडिस) को स्थिर संपत्तियों के साथ यूएसएल के साथ हैश कुंजी के रूप में भर दिया जा रहा है।
दुर्भाग्य से, क्लाउडफ्लेयर और मेरे उपयोगकर्ता के ब्राउज़र संपत्तियों को कैश करने के तरीके को प्रभावित किए बिना स्थिर संपत्ति कैश नियंत्रण शीर्षलेख को बंद नहीं कर सकते हैं। मैं नियंत्रक कैशिंग बंद नहीं कर सकता या मैं पेज/एक्शन/खंड कैशिंग खो देता हूं। अगर मैं रैक :: कैश मिडलवेयर हटा देता हूं तो वही परिणाम।
क्या किसी के पास कोई अन्य विचार है?
अद्यतन: मैंने गिटहब here पर एक टिकट खोला है।
जब आप स्थैतिक संपत्ति कहते हैं तो क्या आपका मतलब केवल स्प्राकेट उत्पन्न करता है? –
हाँ, मैं करता हूं। हैश ने फ़ाइल नामों में जोड़ा है। –