簡體   English   中英

將表單結果保存到CSV-Rails

[英]Saving form results to a CSV - Rails

我正在嘗試將調查結果保存到csv文件中,因此,每次調查完成時,都會在文件中添加新行。 我有將數據庫行導出到csv並允許您下載的代碼,但是我不知道如何合並保存調查的開始,或者是否有可能? 我有一個帶有正確標題的csv文件。

調用create函數(在控制器中將表單的提交定向到控制器中的操作;在REST控制器上創建)時,您只需在其中添加一些自定義邏輯即可將數據從表單轉換為所需的csv結構。

Ruby內置了CSV模塊,可用於讀取和寫入CSV文件。

所以你想要像下面的東西

require "csv"


CSV.open "output.csv", "a+" do |csv|
    # example logic from another script how to populate the file
    times.each do |key, value|
        csv << [ key, value ]
    end
end

您只需要按需要定義行結構,此示例每行拋出兩列。

編輯:a +使文件從末尾(新行)寫入,而不是從原始w +處截斷文件。

一種可能的解決方案是使用記錄器。 在您的應用程序控制器中:

def surveys
  @@surveys_log ||= Logger.new("#{Rails.root}/log/surveys.log")
end

您想記錄調查的任何地方:

surveys.info @survey.to_csv # you'll need to implement "to_csv" yourself

這將在您的log/文件夾中生成一份surveys.log

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM