2010-06-09 17 views
5

मेरे पास एक रेल 2.3.5 एप्लिकेशन है और मैं मॉडल के भीतर से कई आंशिक प्रस्तुत करने की कोशिश कर रहा हूं (मुझे पता है, मुझे पता है - मुझे नहीं माना जाता है)। ऐसा करने का कारण यह है कि मैं अपने रेल ऐप में धूमकेतु सर्वर (एपीई) को एकीकृत कर रहा हूं और मॉडल की घटनाओं (उदा। बाद_क्रेट) के आधार पर अद्यतनों को धक्का देना चाहता हूं।रेल में मॉडल से आंशिक रूप से प्रस्तुत करने के लिए 2.3.5

मैं यह कर की कोशिश की है:

ActionView::Base.new(Rails::Configuration.new.view_path).render(:partial => "pages/show", :locals => {:page => self}) 

कौन सा मुझे अनुमति देता है सरल partials उपयोगकर्ता सहायकों नहीं है कि प्रस्तुत करने के लिए, फिर भी अगर मैं उपयोगकर्ता के लिए मेरे आंशिक में एक LINK_TO कोशिश, मैं यह कहते हुए कोई त्रुटि प्राप्त:

undefined method `url_for' for nil:NilClass 

मैंने यह सुनिश्चित कर लिया है कि "project_path (प्रोजेक्ट)" में पारित वस्तु शून्य नहीं है। मैंने यह भी कोशिश की है:

include ActionView::Helpers::UrlHelper 
include ActionController::UrlWriter 

मॉड्यूल में जिसमें उपर्युक्त "रेंडर" कॉल करने वाली विधि शामिल है।

क्या किसी को पता है कि इस के आसपास कैसे काम करना है?

धन्यवाद

+0

Rails.configuration.view_path – tribalvibes

उत्तर

7

हम render_anywhere मणि का उपयोग करते हैं और इससे खुश हैं।

README से

:

require 'render_anywhere' 

class AnyClass 
    include RenderAnwhere 

    def build_html 
    html = render :template => 'normal/template/reference', 
        :layout => 'application' 
    html 
    end 
end 
+1

प्रश्न रेल 2.3.x के बारे में था, लेकिन मणि के लिए "> = 3.0.7" –

+2

मैं मणि अनुमान लगा रहा हूँ लक्षित किया गया था है 2.X पर जब यह सवाल पूछा गया था। यदि आप अभी भी 2.3.x पर हैं तो पुराने टैग किए गए संस्करण का उपयोग करने का प्रयास करें – klochner

0

इन दो मॉड्यूल सहित पर्याप्त होना चाहिए। शायद आप default_url_options[:host] सेट करना भूल गए हैं? इसके बिना आप _path सहायक का उपयोग कर सकते हैं, लेकिन _url वाले नहीं।

इन मॉड्यूल को शामिल करें और देखें कि यह irb में काम करता है, तो शायद यह आपको सही समाधान के लिए ले जाएगा।

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