2012-01-05 88 views
8

我有一個迭代(在我看來):字符串保存到文件

([email protected]_i).each do |i| 
    ...doing things... 
    @bigtable << @result[0..result.length-2] 
end 

每@result是一個字符串。 @bigtable擁有來自迭代的每個@result。 現在我想要的: 我想將@bigtable中的內容(單擊按鈕後)保存爲.csv文件(並選擇將其保存在我的硬盤上的位置)。我想不喜歡它的每@result從@bigtable是在自己的單行線,像這樣的(僞代碼):

@result string from @bigtable[0] 
@result string from @bigtable[1] 
etc. 

請幫助

回答

23

改變你的數組,你可以做一個字符串:

@bigtable.join("\n") 

爲了寫這個字符串到一個文件:

File.open("path/to/file", "w") { |file| file.write @bigtable.join("\n") } 

就是這樣!

BTW:

@result[0..result.length-2] == @result[0..-2] 
+0

謝謝!但如何將此代碼綁定到按鈕? – mrmnmly 2012-01-05 13:31:27

+1

您必須爲其中一個控制器創建一個動作,並在單擊按鈕時調用此動作。 – 2012-01-05 13:33:28

+0

好吧,我在我的'generators_controller'中有這樣的東西:'def savefile @ bigtable.join(「\ n」) File.open(「path/to/file」,「w」){| file | file.write @ bigtable.join(「\ n」)} end'以及如何將它綁定到我的視圖中的按鈕(html代碼)?你可以幫我嗎? – mrmnmly 2012-01-05 13:57:08

相關問題