2011-04-16 11 views
5

मैं झींगापीढ़ी पीढ़ी के साथ उत्पन्न - मैं Prawn.generate में चर कैसे acces कर सकते हैं?

@buyer = Buyer.last 
Prawn::Document.generate("samle.pdf") do 
    text "hello #{@buyer.name} world" 
end 

का उपयोग कर पीडीएफ उत्पन्न करने के लिए कोशिश कर रहा हूँ, लेकिन यह स्पष्ट रूप से काम नहीं करता है (केवल अगर मैं वर्ग चर @@ खरीदार का उपयोग करें), मेरे सवाल का झींगा के लिए चर पास करने का उचित तरीका है क्या है :: Document.generate

(मैं इस का हल पता है prawnto लेकिन मैं थोड़ा सा प्रयोग कर रहा हूँ ... और यह भी कि यह एक सिनात्रा परियोजना है)

+0

यह कैसे काम नहीं करता है? –

उत्तर

8

http://rdoc.info/github/sandal/prawn/master/Prawn/Document#generate-class_method से ऐसा लगता है कि अगर आप में एक चर पारित लग रहा है आपके ब्लॉक पर इसके बाद वर्तमान संदर्भ में मूल्यांकन किया जाएगा। तो कोशिश:

@buyer = Buyer.last 
Prawn::Document.generate("samle.pdf") do |pdf| 
    pdf.text "hello #{@buyer.name} world" 
end 

संपादित करें: अधिक स्पष्ट है, इसका मतलब है बजाय ब्लॉक एक नया झींगा :: दस्तावेज़ ऑब्जेक्ट के अंदर मूल्यांकन किया जा रहा, झींगा :: दस्तावेज़ वस्तु के बजाय ब्लॉक में पारित हो जाता है। तब ब्लॉक को वर्तमान ऑब्जेक्ट के भीतर मूल्यांकन किया जाता है ताकि आपके इंस्टेंस चर अभी भी दायरे में हैं।

+0

यह काम करता है !! धन्यवाद – equivalent8

+1

कोई समस्या नहीं :-) यदि यह काम करता है, तो आपको जवाब स्वीकार करना चाहिए ..! –

+0

आपको बहुत बहुत धन्यवाद – Andrea

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