モデルが更新される前に属性が変更されたかどうかを検出したいと考えています。
私は次のものを持っています(ベース: http://api.rubyonrails.org/classes/ActiveModel/Dirty.html ):
before_update :changed_attributes
def changed_attributes
self.path_changed? ? puts('Path was changed') : puts('Path was not changed')
end
しかし、Model.path 属性を編集しようとすると、次のエラーが発生します。
SystemStackError: stack level too deep
これは、無限再帰が発生していることを意味します。
SystemStackError を作成せずにこれを行う正しい方法は何ですか?