2011-06-13 100 views
0

我想上傳一個文件在rails(使用回形針),我想處理一些文件數據,然後讓回形針將它發送到s3存儲。在我的控制,我只是抓住了文件參數(這確實給我一個文件),然後我嘗試將線讀取到一個數組用回形針上傳文件之前讀取文件行

csv_file = params[:activity][:data] 

array = IO.readlines(csv_file.path) 

的問題是,我只得到的最後一行文件。我嘗試使用.rewind,但仍然只是最後一行。

回答

0

我不喜歡readlines,我總是使用正則表達式。嘗試這個。行 完 - \ n

0

方便的塊結構,以確保文件句柄關閉:

File.open(csv_file.path) do |f| 
    a = f.readlines 
    process a... 
end 

讀取整個文件到內存中可能不是取決於文件的大小是一個好主意。

+0

謝謝,但同樣的問題仍然存在 - a [0]給了我文件的最後一行,而[1]什麼都不返回。我猜測它與回形針有關:/ – 2011-06-13 16:17:16