2011-01-11 2 views
4

Vielleicht ist es zu diesem Problem: https://github.com/thoughtbot/paperclip/issues/issue/346CSV.parse Fehler nicht definierte Methode `pos' für # <ActionDispatch :: Http :: UploadedFile: 0x000001036cb6b0>

Aber in Rails 3.0.3 (Rubin 1.9.2) I scheint CSV.parse nicht zu funktionieren. Hier

ist Beispielcode:

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 
+0

Haben Sie versucht, dies von der Rails-Konsole aus zu tun? Hast du versucht zu verhindern, dass Plugins geladen werden? Wie wäre es mit dem Entfernen von Edelsteinen? Arbeitet das, was du versuchst, in regulärem irb? –

+0

Ich habe es herausgefunden, danke. Siehe Antwort unten. –

Antwort

20

Ich hatte dies in Rails zu tun 3:

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

params[:dump][:file] ist ein ActionDispatch Objekt und kann nicht direkt von CSV.parse analysiert werden.

3

Versuchen Sie,

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

Mindestens mit Rails 3.2 und Ruby 1.9.2 das funktioniert.

Verwandte Themen