2010-11-29 16 views
21

मुझे रेल सेब में सीएसवी के रूप में निर्यात डेटा की आवश्यकता है। मुझे यह प्लगइन मिला: https://github.com/crafterm/comma। क्या आप कुछ बेहतर समाधान के बारे में जानते हैं?रेल में सीएसवी को डेटा निर्यात करें

+3

बहुत व्यापक दिखता है और डेटा संबंधों को संभालता है, मैं कहूंगा ** कॉमा ** – ocodo

+1

कॉमा मेरे लिए रेल 3 में काम नहीं करता है। मैंने https://github.com/econsultancy/csv_builder पाया और यह अच्छी तरह से काम करता है। – boblin

+1

पुष्टि कर सकते हैं कि अल्पविराम रेल में काम नहीं कर रहा है 3. – Fletch

उत्तर

37

यदि रूबी 1.9.x का उपयोग करते हैं, तो FasterCSV के बजाय CSV का उपयोग करें और डिफ़ॉल्ट डिलीमीटर के साथ चिपकाएं।

नियंत्रक:

respond_to do |format| 
    ...   
    format.csv { render :layout => false } 
end 

show.csv.erb:

<%= this_is_your_view_helper_method.html_safe %> 

controller_helper.rb:

require 'csv' 

def this_is_your_view_helper_method 
    CSV.generate do |csv| 
    Product.find(:all).each do |product| 
     csv << ... add stuff here ... 
    end 
    end 
end 
+10

FasterCSV वास्तव में रूबी 1.9 में मानक सीएसवी लाइब्रेरी बन गया है, इसलिए इसे डाउनलोड करने की कोई आवश्यकता नहीं है, अगर आप रूबी 1.9 पर हैं तो यह पहले से ही है। – Fletch

+1

रेल 3.x के साथ भी बहुत अच्छा काम करता है। –

+1

धन्यवाद @ नोट के लिए फ्लेच! यह जवाब दो बार घटा दिया गया है और मुझे नहीं पता कि क्यों। यदि आप डाउनवोट करते हैं, तो कृपया मुझे बताएं कि आप ऐसा क्यों कर रहे हैं। – hade

2

चेकआउट रूबी 1.9.x में सीएसवी प्रयोग करने के लिए इस स्टैक ओवरफ़्लो answer (जिसे, फ्लेच ने नोट किया है, इसमें FasterCSV शामिल है लेकिन थोड़ा अलग वाक्यविन्यास के साथ)।

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