希望有人能以此为我指明正确的方向。
我想知道是否有一种方法可以在调用该方法之前使用 DataMapper 查看/获取新旧属性值update
并比较这些值。
场景如下:我有一个工单资源,我需要通知各个相关方有关工单的更改。付款状态更改时的电子邮件通知,票证分配给支持人员时的短信通知等。
目前,在我的 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)
?