Forum: Rails-ES Params/string

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Chika (Guest)
on 2007-01-24 17:25
Hola, estoy desarrollando un administrador de base de datos y necesito
mantener un historial de los cambios realizados por los usuarios.
Esto significa que cada vez que accedo al metodo update, create o
destroy, tengo que guardar cierta informacion en una tabla de historial,
no hay mayor problema con eso. Con el problema con el que me encuentro
es que necesito guardar los datos antiguos en un campo tipo string y los
nuevos en otro campo también de tipo string.
Intenté hacer los siguiente:

ModificacionesEmpresa.create(:empresa_id =>@empresa.id, :usuario_id =>
session[:user_id],:tipo => 'U', :tupla_nuevo => params[:empresa].to_s,
:tupla_antiguo => @tupla)

Pero ni params[:empresa].to_s ni :tupla_antiguo =>
@tupla
quedaron guardados como informacion legible.... creo que deberé inventar
un método que me vaya guardando la información en un gran string y ahi
guardarlo,......mientras estoy en eso,
Alguien tiene una solución más inteligente?
Jaime M. (Guest)
on 2007-01-24 17:50
Una alternativa es convertir el objeto a yaml :

h = {}
h[:x] = 1
h[:y] = "2"
h[:z] = [1,2,3]
require "yaml"
mi_valor = h.to_yaml  # Convierte el hash a formato yaml.

Espero te sirva.
---
Jaime Mora R.
Manuel González Noriega (Guest)
on 2007-01-24 17:55
(Received via mailing list)
> Alguien tiene una solución más inteligente?
Puedes guardarlos como xml

http://api.rubyonrails.org/classes/ActiveRecord/Xm...

@empresa =  Empresa.find(params[:id])

@datos_antiguos = @empresa.to_xml

@empresa.update_attributes params[:empresa]

@datos_nuevos = @empresa.to_xml


Un enfoque alternativo que estamos utilizando nosotros es sacar los
datos editables por el usuario de una empresa a un modelo distinto
llamado CompanyProfile. Una empresa 'has_many' company_profiles pero
solo uno activo, que son los datos actuales. De esta forma, los
profiles activos te sirven para las vistas y el resto como histórico
de cambios.



--
Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
http://simplelogica.net/logicola
Xavier N. (Guest)
on 2007-01-24 17:56
(Received via mailing list)
On Jan 24, 2007, at 4:25 PM, Chika wrote:

>
> ModificacionesEmpresa.create(:empresa_id =>@empresa.id, :usuario_id =>
> session[:user_id],:tipo => 'U', :tupla_nuevo => params[:empresa].to_s,
> :tupla_antiguo => @tupla)
>
> Pero ni params[:empresa].to_s ni :tupla_antiguo =>
> @tupla
> quedaron guardados como informacion legible

Que contiene params[:empresa]?

-- fxn
Roberto m. O. (Guest)
on 2007-01-24 18:18
(Received via mailing list)
No te vale con el plugin :acts_as_audited ???

http://www.opensoul.org/2006/7/21/acts_as_audited

Saludos
Roberto M. Oliva

-----Mensaje original-----
De: removed_email_address@domain.invalid
[mailto:removed_email_address@domain.invalid] En nombre de Chika
Enviado el: miércoles, 24 de enero de 2007 16:25
Para: removed_email_address@domain.invalid
Asunto: [Ror-es] Params/string

Hola, estoy desarrollando un administrador de base de datos y necesito
mantener un historial de los cambios realizados por los usuarios.
Esto significa que cada vez que accedo al metodo update, create o
destroy,
tengo que guardar cierta informacion en una tabla de historial, no hay
mayor
problema con eso. Con el problema con el que me encuentro es que
necesito
guardar los datos antiguos en un campo tipo string y los nuevos en otro
campo también de tipo string.
Intenté hacer los siguiente:

ModificacionesEmpresa.create(:empresa_id =>@empresa.id, :usuario_id =>
session[:user_id],:tipo => 'U', :tupla_nuevo => params[:empresa].to_s,
:tupla_antiguo => @tupla)

Pero ni params[:empresa].to_s ni :tupla_antiguo => @tupla quedaron
guardados
como informacion legible.... creo que deberé inventar un método que me vaya
guardando la información en un gran string y ahi guardarlo,......mientras
estoy en eso, Alguien tiene una solución más inteligente?

--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es
Jaime M. (Guest)
on 2007-01-24 19:07
Interesante plugin Roberto, probablemente sea la solución que más se
ajuste a la necesidad de Chika.

Saludos.
---
Jaime Mora R.
Chika (Guest)
on 2007-01-25 17:32
Bueno, en un principio me sirvió la solucion de Manuel

@empresa =  Empresa.find(params[:id])
@datos_antiguos = @empresa.to_xml
@empresa.update_attributes params[:empresa]
@datos_nuevos = @empresa.to_xml

el problema me surgió ahora que no sólo necesito guardar la informacion
de la empresa si no también la de las tablas relacionadas con ella, como
sucursales. Lo intenté con

@tupla_nueva = @empresa.to_xml(:include =>@sucursal)

pero no me incluyo nada, voy a probar el plugin de Roberto y les
cuento.....

Saludos,
Chika
This topic is locked and can not be replied to.