Я использую 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