Copiar datos de un modelo a otro?

buenas.

no se si es por la presion de terminar esto, o mas bien creo por falta
de conocimiento; no he podido copiar los datos de un modelo a otro, asi,
lo e intentado hacer.

historicos = Historico.find(:all,
:conditions => [‘salida_at between ? and ?
and contrato=?’, fini, ffin, 0],
:order => “factura ASC”)

 pagos = Pago.find(:all,
                  :conditions => ['fch_on between ? and ?', fini,

ffin],
:order => “factura ASC”)

 pagos.map do |p|
    historicos << {"factura" => "#{p.factura}",
                    "valor"   => "#{p.valor}"}
 end

cordial saludo y gracias por vuestra ayuda

2008/8/29 Aprendiz_ror Ruby on rails [email protected]

buenas.

no se si es por la presion de terminar esto, o mas bien creo por falta
de conocimiento; no he podido copiar los datos de un modelo a otro, asi,
lo e intentado hacer.

Hay tres cosas importantes para especificar al describir un problema

a) Qué estás haciendo
b) Qué esperabas que sucediera
c) Qué sucedió realmente (bien una excepción o error, o bien un
resultado
que no era el que esperabas)

Sólo has especificado a) y a medias

Se deduce que quieres crear registros de Historico con los datos de los
pagos. Entonces deberías instanciar los nuevos registros y guardarlos en
la
base de datos, con create

pagos.each do |pago|
Historico.create(“factura” => pago.factura,
“valor” => pago.valor)
end

te debería valer

Hola Manuel

gracias por responder.

lo que necesito es dentro del array historicos cargar unos registros del
array pagos, el cual tiene diferente estructura, mira lo hice como
aparece abajo, creo que se puede mejorar:

en ningun momento quiero llevar los datos a la base de datos, es solo
para calculos.

historicos = Historico.find(:all,
:conditions => [‘salida_at between ? and ?
and contrato != ?’, fini, ffin, 1],
:order => “factura ASC”)

 pagos = Pago.find(:all,
                   :conditions => ['fch_on between ? and ?', fini, 

ffin],
:order => “factura ASC”)

 i = historicos.size()
 pagos.each do |pago|
     historicos << Historico.new
     historicos[i].valor = pago.valor
     historicos[i].contrato = 1
     historicos[i].factura = pago.factura
     i = i + 1
 end

ahora necesito ordenar el arreglo historicos y no veo como ordenar un
arreglo de objetos. mejor dicho no se como manipular un arreglo de
objetos(insertar, borrar, agregar al final, etc).

despues de que tenga cargado el arreglo completo de historicos, son unos
15.000 registros, recorro el arreglo y hago operaciones de calculos como
iva y otros.

para luego imprimir los resultados en un archivo plano, ya que usando
tablas de pdf en pdf::writer se vuelve eterno bueno eso es otro cuento

gracias por vuestra ayuda.

2008/8/30 William F. [email protected]

Hola Manuel

gracias por responder.

Hola William,

Javier te pasa en otro email recursos que deberían servirte.

En todo caso, vuelvo a reiterar que no entiendo a que se debe esa mania
de
plantear un problema a medias, esperar a que respondan N personas
(perdiendo
MxN minutos de tiempo) y entonces y sólo entonces se dice “Gracias, pero
no
me sirve porque lo que yo quiero hacer realmente es …” Por favor,
tomaos
tiempo para redactar la cuestión original y aseguraos de que lo que vais
a
tener que explicar en un segundo email ya está en el primero.

Hola,

ahora necesito ordenar el arreglo historicos y no veo como ordenar un
arreglo de objetos. mejor dicho no se como manipular un arreglo de
objetos(insertar, borrar, agregar al final, etc).

Como diría la dirección general de tráfico “no podemos conducir por
ti”… pero sí te puedo pasar los enlaces a la documentación de la clase
Array y su clase padre Enumerable, y de paso el enlace a la
documentación de todas las clases que componen el core de Ruby y sus
librerías estándar.

http://www.ruby-doc.org/core/classes/Array.html
http://www.ruby-doc.org/core/classes/Enumerable.html

http://www.ruby-doc.org/core/
http://www.ruby-doc.org/stdlib/

Y, cómo no, siempre te queda la opción de usar el infravalorado comando
ri, disponible en línea de comandos allá donde tengas instalado ruby

ri Array

y te cuenta todo lo que sabe de esa clase… incluído como insertar,
borrar, agregar al final, etc.

suerte,


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez

Gracias por vuestra ayuda.

esa documentacion esta super, no la habia encontrado.

tienen toda la razon, disculpen, todo ha sido por la presion y el tiempo
que se acerca para entregar esta aplicacion.

gracias mil

Muchas gracias a todos.

aca esta lo que buscaba.

ruby y rails son cosas de otro mundo!!!

saludos