我正在使用 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