dm-observerを使用してdmモデルを監視していますが、モデル内の状態の変化に基づいていくつかのアクションを実行する必要があります。更新された状態値を格納するために@stateが使用されていることはわかりましたが、古い状態値にアクセスする方法を理解できませんでした。以下の例では「old_state」を使用しましたが、明らかにそれは機能しません。
class Adam
include DataMapper::Resource
property :id, Serial
property :name, String
property :state, Integer
end
class AdamObserver
include DataMapper::Observer
observe Adam
before :update do
if old_state == 1 && @state == 2
#do something
end
end
end