Parsing XLS Spreadsheet en Rails usando Roo Gem

Estoy tratando de analizar un archivo XLS con la gema roo sin usar un complemento de carga de archivos. Lamentablemente no puedo acceder a los datos del archivo.

Me sale el error:

#<File:0x007ffac2282250> is not an Excel file

So roo no reconoce el archivo como un archivo de Excel. ¿Necesito guardar el archivo localmente para usar roo o hay alguna forma de evitarlo? Me gustaría analizar los datos del archivo de Excel directamente en la base de datos.

Los parámetros que están llegando:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"yLqOpSK981tDNYjKSoWBh0VnFEKSk0XA/wOt3r+yWJc=", "uploadform"=>{"name"=>"xls", "file"=>#<ActionDispatch::Http::UploadedFile:0x007ffac22b6550 @original_filename="cities2.xls", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"uploadform[file]\"; filename=\"cities2.xls\"\r\nContent-Type: application/octet-stream\r\n", @tempfile=#<File:/var/folders/qn/70msrkt90pd390sdr14_0g2m0000gn/T/RackMultipart20120306-3729-1m2xcsp>>}, "commit"=>"Save Uploadform"}

Estoy intentando acceder al archivo con

    if params[:uploadform][:file].original_filename =~ /.*\.xls$/i
        oo = Excel.new(params[:uploadform][:file].open)

        rooparse(oo)
    end

También probé params [: uploadform] [: file] .read y params [: uploadform] [: file] ya, ¡pero creo que .open sería el método correcto aquí!?

¿Y recomendaría usar un clip de papel o carrierwave aquí?

¡Gracias por tu ayuda

Respuestas a la pregunta(6)

Su respuesta a la pregunta