2011-07-18 84 views
0

我後來可能會想出這個辦法,但我想我會試試。CSV.open和rails中的send_data ....?

誰能幫結合SEND_DATA和CSV.open

根據該文檔,你可以CSV.open filename, mode(whatever that is),基本上一個文件將保存到當前路徑。但是,如果您想通過他的大容器將該文件發送給用戶,因爲我們大多數人都提供CSV文件下載選項,請執行......那麼我們可以將CSV.open與send_data結合起來嗎?

想法?

示例歡迎,如果你也這樣做。

回答

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文件。

+0

沿着這些相同的路線,我的藍天想法可能會讓'CSV.open'的文件名部分的send_data部分可能?當我在FasterCSV和1.8.7中工作時,我發現它與to_csv沒有什麼不同。 'to_csv'只是流淌那個壞男孩而且很光滑。我做了類似於你現在用CSV.generate所說的話,但它太無聊了:-) – pjammer

相關問題