पार्शियल कैशिंग बिना ज्यादा काम के कुछ प्रमुख पेज स्पीड सुधार पाने का एक शानदार तरीका है। लेकिन अगर आप अपने एसोसिएशन पर touch: true भूल जाते हैं, या आपके टेम्पलेट निर्भरताएं सही ढंग से काम नहीं कर रही हैं, तो आपके कैश्ड पार्शियल अपडेट नहीं होंगे।
चूंकि विकास वातावरण आमतौर पर कैशिंग अक्षम के साथ चलता है, आप इसे केवल स्टेजिंग में, या इससे भी बदतर, प्रोडक्शन में खोजेंगे! समस्या को डीबग करने के लिए, आपको इसे विकास मोड में पुन: पेश करना होगा config/environments/development.rb में सेट करके
config.action_controller.perform_caching = false को true पर। आपको हर बार जब आपको कैश समस्याओं को डीबग करना होगा तो ऐसा करना होगा, और चेक इन करने से पहले इसे वापस बदलना याद रखना होगा। मुझे उस तरह का सामान करना नफरत है, इसलिए जब मैं एक नया प्रोजेक्ट शुरू करता हूं, तो मैं इसे इसके बजाय सेट करता हूं:
config.action_controller.perform_caching = ENV['CACHING'] == 'true' इस तरह, मैं जब भी चाहूं कैशिंग सक्षम कर सकता हूं अपने रेल्स सर्वर को शुरू करके
CACHING=true rails server सिर्फ rails server चलाने से कैशिंग अक्षम के साथ चलेगा, हमेशा की तरह।
जैसे-जैसे आप कॉन्फ़िगरेशन पैरामीटर्स को अधिक बार ट्वीक करना शुरू करते हैं, हार्डकोडेड पैरामीटर्स को एनवायरनमेंट वेरिएबल्स में बदलने का यह पैटर्न आपको बहुत समय और छेड़छाड़ बचा सकता है। इसे अपने प्रोजेक्ट्स में आज़माएं!