2010-03-04 15 views
5

में एकाधिक आंशिक रूप से प्रस्तुत करना मैं नियंत्रक में एकाधिक आंशिक प्रस्तुत करना चाहता हूं, ये प्रतिक्रिया का हिस्सा नहीं होंगे, बल्कि इसके बजाय Juggernaut के माध्यम से ग्राहकों को धकेल दिया जाएगा।नियंत्रक

मैं render_to_string का उपयोग कर रहा हूं।

जब दूसरा कॉल किया जाता है, तो मुझे DoubleRenderError मिलता है।

मैं आंशिक तरीके से कैसे प्रस्तुत करूं कि performed? प्रभावित नहीं होगा?

+1

साथ यह पता चला 'render_to_string' बंद को साफ करता है" परिणाम प्रस्तुत करना "है, तो आप इसे कई बार फोन कर सकते हैं। समस्या यह थी कि एक रेंडर पहले ही कहलाए जाने के बाद, मैंने 'after_filter' हुक' में 'render_to_string'' कहा था। – Leventix

उत्तर

4

यह पता चला है कि render_to_string "परिणाम प्रस्तुत करना" साफ़ करता है, ताकि आप इसे कई बार कॉल कर सकें। समस्या यह थी कि रेंडर_to_स्ट्रिंग को बाद में फ़िल्टर करने के बाद, पहले_फिल्टर हुक में render_to_string कहा जाता है।

1

प्रतीक्षा करें तो आप इसे बाद के बाद हुक में कैसे कर सकते हैं? क्योंकि मैं एक ही मुद्दे में चल रहा हूं, और बाद में एक झुकाव हुक करना है।

btw, एक ऐसी ही स्थिति में im का उपयोग कर धक्का तकनीक है, लेकिन एचटीएमएल 5 WebRTC, और eventmachine

+0

नियंत्रक कार्रवाई में मुख्य रेंडर कॉल से पहले इसे बाद में डालने के बजाय इसे बाद में डालने का प्रयास करें। मैंने सोर्स कोड में देखा है और render_to_string कॉल प्रतिक्रिया में हेरफेर करता है, इसलिए यदि आप '@ perform_render' चर का उपयोग करते हैं तो भी आपको इसे प्रस्तुत करने के बाद कॉल नहीं करना चाहिए। – Leventix

+0

या, वास्तव में ऐसा नहीं कर सकता। मैं इनहेरिटेड स्रोतों का उपयोग कर रहा हूं, इसलिए बाद में फ़िल्टर करने के लिए मैं जिस तरह से जाना चाहता हूं। – taelor