Track sucio para el atributo no persistente en un objeto ActiveRecord en rails

Tengo un objeto que hereda de ActiveRecord, pero tiene un atributo que no persiste en la base de datos, como:

 class Foo < ActiveRecord::Base
   attr_accessor :bar
 end

Me gustaría poder rastrear los cambios en 'bar', con métodos como 'bar_changed?', Según lo provisto por ActiveModel Dirty. El problema es que cuando intento implementar Dirty en este objeto, como se describe en docs, Recibo un error porque ActiveRecord y ActiveModel han definidodefine_attribute_methods, pero con un número diferente de parámetros, por lo que recibo un error al intentar invocardefine_attribute_methods [:bar].

He intentado aliasingdefine_attribute_methods antes de incluirActiveModel::Dirty, pero sin suerte: aparece un error de método no definido.

¿Alguna idea sobre cómo lidiar con esto? Por supuesto, podría escribir los métodos requeridos manualmente, pero me preguntaba si era posible hacerlo usando módulos Rails, al extender la funcionalidad de ActiveModel a los atributos no manejados por ActiveRecord.

Respuestas a la pregunta(4)

Su respuesta a la pregunta