0

調査結果をcsvファイルに保存しようとしているので、調査が完了するたびにファイルに新しい行が追加されます。データベースの行をcsvにエクスポートしてダウンロードできるようにするコードがありますが、最初にアンケートの保存を組み込む方法がわかりません。それが可能かどうかもわかりません。正しいヘッダーでcsvファイルを設定しています。

4

2 に答える 2

1

関数が呼び出されると(フォームの送信先のコントローラーのアクション、createRESTコントローラーで作成)、そこにカスタムロジックを追加して、データをフォームから必要な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

行の構造を必要に応じて定義するだけで済みます。この例では、行ごとに 2 つの列がスローされます。

編集: a+ は、ファイルを切り捨てる元の w+ ではなく、ファイルを最後 (新しい行) から書き込むようにします。

于 2012-12-10T14:03:34.780 に答える
0

考えられる解決策は、ロガーを使用することです。アプリケーションコントローラーの場合:

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

これにより、surveys.logフォルダがになりlog/ます。

于 2012-12-10T13:53:52.703 に答える