Caricamento file

in un’applicazione caricando file xls o ods usando form con un
file_field a seconda delle dimensioni del file ottengo o

ActionController::UploadedStringIO

o

ActionController::UploadedTempfile

Ora vorrei forzare il sistema ad usare sempre il secondo in quanto nel
controller mi è più comodo avere a disposizione un Tempfile in
particolare per riuscire ad avere un ole2 valida

come si può fare?

qui sotto il codice del form

<% form_for :dump,
:url=>{:controller=>“students”, :action=>“carica”},
:html => { :multipart => true } do |f| -%>

Seleziona il file con l’elenco studenti:

<%= f.file_field :file -%>

<%= submit_tag 'INVIA' -%> <% end -%>

nel controller accedo ai dati che vorrei fossero sempre un file con
f = (params[:dump][:file])

risolto aggiungendo nel controller

if f.is_a?(ActionController::UploadedStringIO)
temp_file = Tempfile.new(“some_temp_name”)

 temp_file.write f.read
 f = temp_file
 temp_file.close

end

non che la cosa mi soddisfi, ma funziona

sarei curioso di sapere come aggiungerlo di default per file_field