FasterCSV का उपयोग किए बिना यह करने के लिए एक और तरीका है:
माणिक के सीएसवी आवश्यकता होती है प्रारंभिक फ़ाइल में लाइब्रेरी जैसे कॉन्फ़िगर/प्रारंभकर्ता/निर्भरता.आरबी
require "csv"
कुछ पृष्ठभूमि के रूप में निम्न कोड है Ryan Bate's Advanced Search Form के आधार पर जो एक खोज संसाधन बनाता है। मेरे मामले में खोज संसाधन की शो विधि पहले से सहेजी गई खोज के परिणामों को वापस कर देगी। यह सीएसवी का भी जवाब देता है, और वांछित आउटपुट को प्रारूपित करने के लिए एक दृश्य टेम्पलेट का उपयोग करता है। रिपोर्ट पेज मैं रिपोर्ट है कि उपयोगकर्ता द्वारा देखे जा निर्यात करने के लिए एक कड़ी के HTML संस्करण पर
<%- headers = ["Id", "Name", "Account Number", "Publisher", "Product Name", "Status"] -%>
<%= CSV.generate_line headers %>
<%- @advertiser_search.advertisers.each do |advertiser| -%>
<%- advertiser.subscriptions.each do |subscription| -%>
<%- row = [ advertiser.id,
advertiser.name,
advertiser.external_id,
advertiser.publisher.name,
publisher_product_name(subscription),
subscription.state ] -%>
<%= CSV.generate_line row %>
<%- end -%>
<%- end -%>
:
def show
@advertiser_search = AdvertiserSearch.find(params[:id])
@advertisers = @advertiser_search.search(params[:page])
respond_to do |format|
format.html # show.html.erb
format.csv # show.csv.erb
end
end
show.csv.erb फ़ाइल निम्न तरह दिखता है। निम्नलिखित LINK_TO उस रिपोर्ट का csv संस्करण रिटर्न है:
<%= link_to "Export Report", formatted_advertiser_search_path(@advertiser_search, :csv) %>
कम से कम रेल के नवीनतम संस्करण में, आप भी उपयोग कर सकते हैं 'प्रविष्टि में ऐसा कर सकते हैं। इसके बजाय सभी '। –