2012-04-03 13 views
5

मैं रेल 3.2 रैक कार्य में स्ट्रिंग करने के लिए एक रैबल दृश्य प्रस्तुत करने की कोशिश कर रहा हूं। मैं पृष्ठभूमि कार्य से पुशर के माध्यम से कुछ JSON भेजने के लिए स्ट्रिंग करने के लिए इसे प्रस्तुत कर रहा हूं। मैंने रेक कार्य उत्तरों से विभिन्न render_to_string को देखा है लेकिन उनमें से कोई भी काम नहीं कर रहा है। ": NilClass शून्य के लिए अपरिभाषित विधि` मानकों ' "एक रेक कार्य में एक रैबल दृश्य प्रस्तुत करने के लिए कैसे?

controller = PostsController.new 
av = ActionView::Base.new(MyApp::Application.config.paths['app/views'].first,{},controller) 
@post = post 
Pusher["some channel"].trigger('new_post', av.render(:template => 'posts/show.json.rabl')) 
मैं एक ActionView प्राप्त इस प्रयास :: खाका :: त्रुटि अपवाद और त्रुटि के साथ

: यहाँ है कि मैं क्या अभी तक है।

उत्तर

6

Rabl::Renderer methods पर कॉल करके ऐसा करने का एक आसान तरीका है। हालांकि जब आप कुछ प्रस्तुत करने का प्रयास करते हैं तो आपका संदर्भ महत्वपूर्ण होगा। इसलिए, सावधान रहें यदि आपकी रैबल फ़ाइलों के अंदर कोई नियंत्रक/सहायक विधि है क्योंकि वे इसे कॉल करते समय उपलब्ध नहीं होंगे। यहां एक नमूना कोड है जिसका आप उपयोग कर सकते हैं, Rabl 0.6.13 के साथ परीक्षण किया गया है।

Rabl::Renderer.json(@post, 'posts/show', :view_path => 'app/views') 
संबंधित मुद्दे