Tengo un modelo que tiene un amount
y estoy rastreando para ver si este monto se cambia con un Model.amount_changed?
con un before_save
que funciona bien pero cuando reviso para ver amount_was
y amount_change?
solo devuelve el monto actualizado, no la cantidad anterior . Y todo esto está sucediendo antes de que sea guardado. Sabe cuándo se cambia el atributo, pero no devolverá el valor anterior.Rieles: attribute_changed?
Ideas?
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
Se puede publicar el código de modelo? – microspino
He añadido la parte correspondiente – s84