誰かがこれで私を正しい方向に向けることができることを願っています。
update
メソッドが呼び出される前に DataMapper を使用して新しいプロパティ値と古いプロパティ値の両方を表示/取得し、値を比較する方法があるかどうかを知りたいです。
シナリオは次のとおりです。チケット リソースがあり、チケットに加えられた変更についてさまざまな関係者に通知する必要があります。支払い状況が変化したときのメール通知、チケットがサポート スタッフに割り当てられたときの SMS 通知など。
現在、Ticket クラス内で、次のようなコールバック/フィルターを設定しています。
before :update, :notify_changes
def notify_changes
ticket = Ticket.get(self.id) # Get the original
if ticket.status != self.status
# Send out the email notification
end
if ticket.assigned_support != self.assigned_support
# Send out the SMS notification
end
# ... etc
end
でデータベースに再度アクセスせずにこれを行うためのより良い、またはより効率的な方法はありますticket = Ticket.get(self.id)
か?