Ich habe ein Modell, das eine amount
und ich bin Tracking, um zu sehen ist, wenn dieser Betrag mit einem Model.amount_changed?
mit einem before_save
geändert wird, der gut arbeitet, aber wenn ich sehe, überprüfen zu amount_was
und amount_change?
es gibt nur den aktualisierten Betrag nicht die vorherige Menge . Und all das passiert, bevor es gerettet ist. Es weiß, wann das Attribut geändert wird, aber es gibt den alten Wert nicht zurück.Schienen: attribute_changed?
Ideen?
class Reservation < ActiveRecord::Base
before_save :status_amount, :if => :status_amount_changed
def status_amount_changed
if self.amount_changed? && !self.new_record?
true
else
false
end
end
def status_amount
title = "Changed Amount"
description = "to #{self.amount_was} changed to #{self.amount} units"
create_reservation_event(title, description)
end
def create_reservation_event(title, description)
Event.create(:reservation => self, :sharedorder => self.sharedorder, :title => title, :description => description, :retailer => self.retailer)
end
end
können Sie das Modell Code posten? – microspino
Ich habe den relevanten Teil hinzugefügt – s84