Hola Lista :

Como se inicializa un objeto (ActiveRecord) con los elementos de un struct 
que le pasa como parametro.
En la definicion de los elementos del struct son los mismos que los 
atributos de la clase y tabla que mapea, pero se puede mapear cada elemento 
del
struct contra los atributos del objeto automaticamente, sin tener que 
definir un initialize en la clase y mapear a mano cada atributo ?
Ej. de codigo :
(Es un tipo encabezado-detalle)  (Proceso-Movimiento)

class ProcesosController < ApplicationController
def create
@proceso = Proceso.new(params[:proceso])
estructura = Struct.new(:buque, :matricula, :fecha, :latitud, 
:longitud,:rumbo, :vel, :emp, :tipo, :inm, :dnid, :mem,:mmsi, :mdn )
registros = File.open(@proceso.filename).map {|linea| if linea.length >= 106 
then estructura.new(linea[0..30].strip, *linea[31..-1].split) end}
registros.each{|x| self.armar_movimiento(x) }
end
end


def armar_movimiento(x)
# X tiene la sig. info => matricula="1200788",buque="San Marcos I", 
"fecha="051213", latitud="4244.163S", longitud="06501.443W", rumbo="348", 
vel="00.0", emp="0932", tipo="010", inm="G", dnid="470181355", mem="00804", 
mmsi="028", mdn="701000925", termid=nil>
movi=Movimiento.new(params[:x])
#aca quisiera que la estruct del struct se mapee automaticamente
#con la estructur del objeto ya que son componetens se llaman iguales


@proceso.movimientos << movi


end



Muchas gracias y espero que se haya entendido



Fernando Castañeda



_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a