lamentablemente la funcion load es parte de la funcionalidad de mysql, es decir no es una funcion del ruby on rails, es simplemente un shell del cliente de mysql, por lo que no puedes pasar el archivo como deseas, tienes que grabarlo en alguna parte del servidor ya sea en public o en algun directorio de te preferencia
Ahora te recomiendo mejor que uses la clase CVS con la cual evitas el problema que tienes y ademas validas la info a traves del modelo
Código rails:
Ver originalrequire 'csv'
def csv_import
@parsed_file=CSV::Reader.parse(params[:dump][:file])
n=0
@parsed_file.each do |row|
c=CustomerInformation.new
c.job_title=row[1]
c.first_name=row[2]
c.last_name=row[3]
if c.save
n=n+1
GC.start if n%50==0
end
flash.now[:message]="CSV Import Successful, #{n} new records added to data base"
end
View:
Código rails:
Ver original<% form_for :dump, :url=>{:controller=>"customer_informations", :action=>"csv_import"}, :html => { :multipart => true } do |f| -%>
<table">
<tr>
<td>
<label for="dump_file">
Select a CSV File :
</label>
</td>
<td >
<%= f.file_field :file -%>
</td>
</tr>
<tr>
<td colspan='2'>
<%= submit_tag 'Submit' -%>
</td>
</tr>
</table>
<% end -%>