ruby on rails - How can I determine whether a controller action has rendered (rather than redirected?) -
क्या किया गया?
विधि एक कोड नियंत्रक में true
देता है
मैं कैसे निर्धारित कर सकता हूँ कि क्या अनुप्रयोग प्रदान किया गया है (रीडायरेक्ट की बजाय)?
, मैं @performed_render
को देख सकता हूं, लेकिन यह हैकी लगता है।
संपादित करें: मुझे ऐसा क्यों करना है?
मैं एक नियंत्रक कार्रवाई के आउटपुट को कैश करने का प्रयास कर रहा हूं केवल उस मामले में यह एक रेंडर में परिणाम (और एक रीडायरेक्ट नहीं)। यहाँ कोड है जो मैं अब उपयोग कर रहा हूं: (पर आधारित)
def render_with_cache (options = {}) = ([request.request_uri, request.format] | (options.delete (: Key_additions) || []))। ("::") body = rails.cache.read (key) में जोड़ें अगर शरीर रेंडर: text = & gt; शरीर और उपज अगर ब्लॉक_जीवन? जब तक प्रदर्शन रेंडर नहीं? यदि @performed_render Rails.cache.write (कुंजी, response.body, विकल्प) #: expires_in अंत अंत समाप्ति
@performed_render
को देखो। :) आप क्यों आपको यह पता लगाने की आवश्यकता नहीं है, इसलिए मैं वैकल्पिक समाधान का सुझाव देने में असमर्थ हूं।
Comments
Post a Comment