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.
0338d257688889ebba17b3215fef52e6?d=identicon&s=25 Chika (Guest)
on 2007-01-24 16: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?
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-01-24 16: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 Ramones
5c15703984caa012845b3cea129da936?d=identicon&s=25 Manuel González Noriega (Guest)
on 2007-01-24 16: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
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (Guest)
on 2007-01-24 16: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
Fc3f12c165eaeac4999bc274215fb582?d=identicon&s=25 Roberto m. Oliva (roliva)
on 2007-01-24 17: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: ror-es-bounces@lists.simplelogica.net
[mailto:ror-es-bounces@lists.simplelogica.net] En nombre de Chika
Enviado el: miércoles, 24 de enero de 2007 16:25
Para: ror-es@lists.simplelogica.net
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
Ror-es@lists.simplelogica.net
http://lists.simplelogica.net/mailman/listinfo/ror-es
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-01-24 18:07
Interesante plugin Roberto, probablemente sea la solución que más se
ajuste a la necesidad de Chika.

Saludos.
---
Jaime Mora Ramones
0338d257688889ebba17b3215fef52e6?d=identicon&s=25 Chika (Guest)
on 2007-01-25 16: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.