2012-06-04 10 views
7

रेल 3.2.5। मेरे पास नियंत्रकों की एक श्रृंखला है जो एक JSON API बनाते हैं जो मेरा Backbone.js अनुप्रयोग खपत करता है। अब मैं नियंत्रकों की एक श्रृंखला बनाने की तलाश में हूं जो क्रॉलर/मकड़ियों/googlebot को स्थिर सामग्री प्रदान करेगा। मैं JSON API से वही डेटा प्राप्त करना चाहता हूं क्योंकि वे हैंडलबार टेम्पलेट्स के अनुरूप हैं जो मैं पहले से ही अपने Backbone.js एप्लिकेशन के साथ उपयोग करता हूं लेकिन इस बार उन्हें सर्वर-साइड प्रस्तुत करता है।किसी अन्य नियंत्रक के भीतर से नियंत्रक की प्रतिक्रिया कैसे प्राप्त करें?

क्या कोई तरीका है कि मैं अपने एपीआई नियंत्रकों से JSON प्रतिक्रिया ले सकता हूं और उन्हें किसी अन्य नियंत्रक से एक्सेस कर सकता हूं?। मुझे पता है कि मैं curl का उपयोग कर सकता हूं लेकिन चूंकि जेएसओएन एपीआई पहले से ही मेरे लिए स्थानीय है और उसी रेल एप्लिकेशन के भीतर, क्या अधिक कुशल और सुरुचिपूर्ण तरीका है?

+0

क्या यह एप्लिकेशन नियंत्रक में नहीं होगा? – Tallboy

+0

जो 'एप्लिकेशन नियंत्रक' में जाएगा? – axsuul

+0

@ टॉलबॉय अगर यह एप्लिकेशन नियंत्रक के पास जाता है, तो वह कैसे उपभोग करता है? – Nobita

उत्तर

2

नहीं, ऐसा नहीं है। अगर आपको ऐसा कुछ चाहिए, तो को अन्य वर्ग के अंदर कोड साझा करें (आप शायद service बनाने की कोशिश कर रहे हैं) और फिर दोनों नियंत्रकों में इसका उपयोग करें ताकि आप आसानी से कोड साझा कर सकें और फिर दोनों के लिए आउटपुट से जेएसओएन उत्पन्न कर सकें उनमें से।

यह देखते हुए कि आप जेएसओएन पीढ़ी के लिए आरएबीएल का उपयोग कर रहे हैं, तो आपको the pieces you want to reuse into partials चालू करना चाहिए और फिर उन्हें किसी अन्य रेल दृश्य की तरह, प्रत्येक विशिष्ट दृश्य में शामिल करना चाहिए।

+0

पर कॉल प्राप्त करने के लिए [rest-client] (https://github.com/adamwiggins/rest-client) का उपयोग करना चाहिए, मैं JSON उत्पन्न करने के लिए RABL का उपयोग कर रहा हूं, इसलिए एक RABL JSON है प्रत्येक एपीआई नियंत्रक कार्रवाई के लिए देखें। असल में मेरे जेएसओएन एपीआई के साथ दो परतें शामिल हैं। मैं इस परिदृश्य में कैसे प्रतिक्रिया दूंगा? – axsuul

+0

वहां आप उत्तर अपडेट करते हैं। –

संबंधित मुद्दे