es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , , ,

Answer

  1. Avatar for 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:

    module PaperTrail
      module Model
        module InstanceMethods
          def update_columns(attributes)
            save_version = self.paper_trail_save_with_version
            super(attributes)
            save_version
          end
        end
      end
    end
    

    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.

Comments are closed.