Track sujo para atributo não persistente em um objeto ActiveRecord em rails

Tenho um objeto que herda de ActiveRecord, mas ele tem um atributo que não persiste no banco de dados, como:

 class Foo < ActiveRecord::Base
   attr_accessor :bar
 end

Gostaria de acompanhar as alterações em 'bar', com métodos como 'bar_changed?', Conforme fornecido pelo ActiveModel Dirty. O problema é que, quando tento implementar Dirty neste objeto, conforme descrito no docs, Estou recebendo um erro, pois o ActiveRecord e o ActiveModel definiramdefine_attribute_methods, mas com um número diferente de parâmetros, estou recebendo um erro ao tentar chamardefine_attribute_methods [:bar].

Eu tentei aliasingdefine_attribute_methods antes de incluirActiveModel::Dirty, mas sem sorte: recebo um erro de método não definido.

Alguma idéia de como lidar com isso? É claro que eu poderia escrever os métodos necessários manualmente, mas estava pensando se era possível usar os módulos Rails, estendendo a funcionalidade ActiveModel para atributos não tratados pelo ActiveRecor

questionAnswers(4)

yourAnswerToTheQuestion