在rails ......中的CSV.open和send_data?

时间:2011-07-18 23:18:10

标签: ruby-on-rails ruby csv

我可能会在以后找出这个,但我想我会尝试。

有人可以帮助组合send_data和CSV.open

根据文档,您可以CSV.open filename, mode(whatever that is),基本上文件将保存到您当前的路径。但是,如果您想通过他的broswer将该文件发送给用户,因为我们大多数人都可以选择CSV文件进行下载,那么我们可以将CSV.open与send_data结合使用吗?

想法?

例如,如果您也这样做,欢迎加入。

1 个答案:

答案 0 :(得分:1)

我认为你不想将这两件事结合起来。

CSV.open会将数据保存到文件中,您需要重新读回该文件才能通过send_data发送。

但你可以这样做:

csv = []
csv << ["titles", "for", "csv"]
csv << ["data", "for", "csv"]
send_data(csv.collect{|s| s.join(",")}.join("\n"), 
          :type => 'text/csv; charset=utf-8; header=present', 
          :filename => "mytitle.csv")

应提示用户下载csv文件。