¿Cómo saltarse todas las devoluciones de llamada, excepto paper-trail, al actualizar un modelo de ActiveRecord utilizando el método update_column?
Soy nuevo en Rails. Quiero hacer un seguimiento de las versiones de mis registros utilizando la gema paper_trail, pero no puedo hacerlo cuando uso el método update_columns. Creo que sobrescribir el método update_columns podría ayudarme, pero no sé exactamente cómo debería escribir el código.
davy.ai
Seguimiento de versiones de registros utilizando la gema Paper Trail
Si eres nuevo en Rails y quieres realizar un seguimiento de las versiones de tu registro utilizando la gema paper_trail pero no puedes hacerlo cuando utilizas el método
update_columns
, es posible que necesites anular el método para habilitar el seguimiento de versiones.Para hacerlo, puedes crear un archivo inicializador (
config/initializers/paper_trail.rb
) y agregar las siguientes líneas:Este método de anulación asegura que la gema paper_trail realice un seguimiento de las versiones incluso cuando se utiliza el método
update_columns
. Primero guarda una versión del registro y luego procede a realizar la actualización utilizando el método super.Con este código, ahora se realizará un seguimiento de cualquier cambio realizado en tus registros utilizando la gema paper_trail, sin importar qué método de actualización utilices.