Foros del Web » Programando para Internet » Ruby »

Cargar información con ruby

Estas en el tema de Cargar información con ruby en el foro de Ruby en Foros del Web. Hola he estado provando como subir información a mysql con ruby desde un cvs utilizando la función load de mysql que solo necesita la ruta ...
  #1 (permalink)  
Antiguo 11/01/2009, 16:30
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Cargar información con ruby

Hola he estado provando como subir información a mysql con ruby desde un cvs utilizando la función load de mysql que solo necesita la ruta del archivo para carga dicha información para esto estoy utilizando el campo field_file que me habre la ventana para buscar la ubicación del archivo, pero este me pasa como parametro unicamente el nombre del archivo y no la ruta completa, no quiero cargar el archivo a ninguna parte de la aplicación solamente la ruta para pasarsela como paramentro a la función mysql
Gracias
  #2 (permalink)  
Antiguo 22/04/2009, 11:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 10
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cargar información con ruby

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 original
  1. require 'csv'
  2.  
  3.    def csv_import
  4.      @parsed_file=CSV::Reader.parse(params[:dump][:file])
  5.      n=0
  6.      @parsed_file.each  do |row|
  7.      c=CustomerInformation.new
  8.      c.job_title=row[1]
  9.      c.first_name=row[2]
  10.      c.last_name=row[3]
  11.      if c.save
  12.         n=n+1
  13.         GC.start if n%50==0
  14.      end
  15.      flash.now[:message]="CSV Import Successful,  #{n} new records added to data base"
  16.    end


View:
Código rails:
Ver original
  1. <% form_for :dump, :url=>{:controller=>"customer_informations", :action=>"csv_import"}, :html => { :multipart => true } do |f| -%>
  2.  <table">
  3.    <tr>
  4.      <td>
  5.       <label for="dump_file">
  6.         Select a CSV File :
  7.       </label>
  8.      </td>
  9.      <td >
  10.        <%= f.file_field :file -%>
  11.      </td>
  12.    </tr>
  13.    <tr>
  14.      <td colspan='2'>
  15.        <%= submit_tag 'Submit' -%>
  16.      </td>
  17.    </tr>
  18.  </table>
  19. <% end -%>

Última edición por pegasomx; 22/04/2009 a las 12:14 Razón: Agrege funcion de importacion cvs
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:21.