2011-08-03 12 views
9

मैं सिर्फ 'लेखन' example in the documentation तहत उदाहरण 'एक स्ट्रिंग के लिए' सब पर काम करने के लिए नहीं मिल सकता है पैदा करने के बिना एक सीएसवी स्ट्रिंग निर्यात 1.9.2।रूबी एक फ़ाइल

माणिक -v रिटर्न: माणिक 1.9.2p290 (2011-07-09 संशोधन 32,553) [x86_64-darwin10.8.0]

प्रलेखन मैं काम नहीं कर सकता से उदाहरण यहाँ है:

csv_string = CSV.generate do |csv| 
    csv << ["row", "of", "CSV", "data"] 
    csv << ["another", "row"] 
end 

त्रुटि मैं मिलता है:

wrong number of arguments (0 for 1) 

तो ऐसा लगता है जैसे मैं एक तर्क याद आ रही है प्रलेखन here में, यह कहा गया है:

This method wraps a String you provide, or an empty default String 

लेकिन जब मैं एक खाली स्ट्रिंग में पारित, यह मेरे निम्न त्रुटि देता है:

No such file or directory - 

मैं एक csv फ़ाइल उत्पन्न करना चाहते हैं नहीं कर रहा हूँ, मैं सिर्फ सीएसवी के एक स्ट्रिंग बनाना चाहता था कि मैं उपयोगकर्ता के लिए पाठ के रूप में भेज सकते हैं। अपने विधि कॉल से पहले

+0

साथ रूबी 1.9.2 के खिलाफ काम करता है आप जगह था => 'सीएसवी' की आवश्यकता होती है पता है <=? –

उत्तर

21

यहाँ कोड मैं रेल 3.0.1

def export_csv(filename, header, rows) 
    require 'csv' 

    file = CSV.generate do |csv| 
     csv << header if not header.blank? 
     rows.map {|row| csv << row} 
    end 

    send_data file, :type => 'text/csv; charset=iso-8859-1; header=present', :disposition => "attachment;filename=#{filename}.csv" 
end 
+7

ठीक मैं मानता हूं मैं वास्तव में stackoverflow प्यार ... –

+0

मैं त्रुटियों जब 'का उपयोग कर खाली मिल गया है?' से पहले, तो मैं 'का उपयोग खाली?'। –

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