2011-12-16 23 views
7

क्या रूबी स्क्रिप्ट के अंदर या रेल कंसोल से आंशिक प्रस्तुत करना संभव है?रूबी स्क्रिप्ट या कंसोल से आंशिक रूप से प्रस्तुत करना

कोई ऐसा करने के लिए कैसे जाएगा?

+1

वहाँ एक ऐसी ही (और एक बहुत ही अच्छा) [प्रश्न] (http://stackoverflow.com/questions/151030/how-do-i-call-controller-view-methods-from-the-console-in-rails) यहां SO पर – maprihoda

उत्तर

4

आंशिक पर निर्भर करता है, यह क्या करता है, यह किस तरीके से कॉल करता है। लेकिन मूल रूप से आपको यह देखना होगा कि यह किस टेम्पलेटिंग इंजन का उपयोग करता है (erb, haml) और यह कौन सी कॉल करता है (यदि यह अन्य आंतरिक एपीआई आदि कहता है)। यदि आप डेटाबेस से (डेटा सक्रियकॉर्ड का उपयोग कर) से कोई डेटा ले रहे हैं, तो आपको डेटाबेस में स्वयं को स्क्रिप्ट में कनेक्शन स्थापित करना होगा और डेटा प्राप्त करना होगा।

ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => '#{YOUR_DATABSE}' 

एक बार जब आप कनेक्शन स्थापित कर लेंगे, तो अपने आंशिक रूप से आवश्यक सभी डेटा प्राप्त करें।

इसके अलावा, प्रस्तुत करना काफी बुनियादी है।

def render(*args, &block) 
    self.response_body = render_to_string(*args, &block) 
end 

render_to_string, टेम्पलेटिंग इंजन को एचटीएमएल में अनुवाद करने के लिए कॉल करने जा रहा है। उदाहरण के लिए अपने Haml होगा कुछ की तरह:

response = Haml::Engine.new(File.read("#{partial.html.haml")).render 

यदि आपके आंशिक कॉल के किसी भी रेल एपीआई आप और कॉपी/या उन एपीआई शामिल करने की जरूरत है कि जटिल हो जाता है

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