CSV.parse错误未定义方法`pos'for#<actiondispatch :: http :: uploadedfile:0x000001036cb6b0> </actiondispatch :: http :: uploadedfile:0x000001036cb6b0>

时间:2011-01-11 15:40:30

标签: ruby-on-rails

可能与此问题有关:https://github.com/thoughtbot/paperclip/issues/issue/346

但在Rails 3.0.3(ruby 1.9.2)中,我似乎无法使CSV.parse工作。

以下是示例代码:

row_index = 0
CSV.parse(params[:dump][:file]) do |cells|
  column_index = 0
  cells.each do |cell|
    column_index += 1
  end
  row_index += 1
end

2 个答案:

答案 0 :(得分:20)

我必须在Rails 3中执行此操作:

data = params[:dump][:file].read
CSV.parse(data)

params[:dump][:file]是一个ActionDispatch对象,无法由CSV.parse直接解析。

答案 1 :(得分:3)

尝试

CSV.parse(params[:dump][:file].tempfile).each do |row|
    #stuff with row
end

至少使用Rails 3.2和Ruby 1.9.2这是有效的。