0
我正在運行軌道3.0.1與紅寶石1.9.2p290,並嘗試使用CSV解析CSV文件(因爲據我所知,CSV現在使用更快的CSV代碼)。有問題CSV.parse沒有更新行
我設置此功能爲fasterCSV下面一個很好的書面記錄,並只需要做出小的改動,以得到它的工作(其他城市要求,以CSV,而不是fasterCSV等)
我可以得到csv文件加載到具有正確列數的表格中,但無論有多少行,它都是一行。例如,如果我的csv文件有三行三列,我的import_table將顯示列號爲0,1,2三次而不增加行號。所以它確實可以識別我的csv文件的每一行的結尾,但不會增加行計數器。我錯過了什麼?
我csvcontroller看起來是這樣的:
require 'csv'
class Admin::CsvController < ApplicationController
def import
end
def upload
table = ImportTable.new :original_path => params[:upload][:csv].original_filename,
:import_type => params[:type]
uploaded_file = params[:upload][:csv].read
CSV.parse(uploaded_file) do |cells|
row_index = 0
column_index = 0
cells.each do |cell|
table.import_cells.build :column_index => column_index, :row_index => row_index, :contents => cell
column_index += 1
end
row_index += 1
end
table.save
redirect_to import_table_path(table)
end
end
我嘗試使用,而不是.read .readline,但開闢了蠟的另一個球。
沒關係,我剛剛發現我的白癡在這裏。 'row_index = 0'需要在CSV.parse循環之外。好吧,一切都很好。我會將此標記爲在我被允許這樣做的7個小時內回答。 –