मैं एक बुरा बच्चा रहा हूं और स्थानीय वेरिएबल्स के लिए डिफ़ॉल्ट मान सेट करने के लिए मेरे आंशिक टेम्प्लेट में निम्नलिखित सिंटैक्स का उपयोग किया है, यदि मूल्य को स्पष्ट रूप से परिभाषित नहीं किया गया है: आंशिक रेंडर करते समय स्थानीय हैश
<% foo = default_value unless (defined? foo) %>
यह हाल ही में तब तक ठीक काम करता था, जब (बिना किसी कारण के मैं विचार नहीं कर सकता था) गैर-पारित चर व्यवहार करने लगे जैसे कि उन्हें शून्य (अपरिभाषित के बजाय) परिभाषित किया गया हो।
जैसा कि SO पर विभिन्न सहायक लोगों द्वारा बताया गया है, http://api.rubyonrails.org/classes/ActionView/Base.html का उपयोग नहीं करने के लिए कहते हैं
defined? foo
और उपयोग करने के बजाय
local_assigns.has_key? :foo
मैं अपने तरीके में संशोधन करने की कोशिश कर रहा हूं, लेकिन इसका मतलब है कि बहुत सारे टेम्पलेट बदलना।
क्या मैं आगे शुल्क लगा सकता / सकती हूं और सभी टेम्प्लेट में यह बदलाव कर सकती हूं? क्या मुझे देखने के लिए कोई चालाकी की ज़रूरत है? कितनी मेहनत से मुझे हर एक का परीक्षण करने की आवश्यकता है?