¿Hay algún modo de que identifique si un objeto/registro está sucio antes de guardarlo y qué campos se cambian en Rails?Identificación de si el registro/objeto está sucio en Rails
Ejemplo
Supongamos que tengo un modelo de persona y la persona tiene una propiedad llamada nombre y edad. En el PP, Persona con id 1 se llama "John" con la edad 20.
p = Person.find 1
p.name #John
p.age #20
ahora, cuando cambio su nombre de John a Nathan, ¿hay alguna manera de que yo identifico
- el objeto se cambia (sucio)
- y qué campos se cambió
Ahora sé la respuesta a la primera. Si cambio el nombre a Nathna, puedo hacer lo siguiente
p.name = "Nathan"
p.changed? #true
Sin embargo, hay alguna forma para mí para identificar qué campo se ha cambiado? ¿Puede ser un método que devuelve una matriz de campos que se cambiaron?
p.dirty_fields #[:name]
zam ok thanks = D – denniss