У меня есть класс модели, как показано ниже:
class Product < ActiveRecord::Base
belongs_to :user;
attr_accessible :price
before_save :check_if_price_changed
after_save :notify_about_price_change
def check_if_price_changed
if (price.changed?) then
@price_changed = true
else
@price_changed = false
end
end
....
Я хочу записать, изменилась ли цена продукта, прежде чем я сохраню его в базе данных.Затем у меня есть процедура, которая будет делать уведомления, как только продукт успешно сохранен с новой ценой.Но я получаю следующую ошибку, когда пытаюсь проверить, не является ли атрибут цены грязным:
undefined method `changed?' for 20:Fixnum
Разве этот метод не поддерживается из коробки в рельсах 3.1?Я называю это неправильно или в неправильном слое (модель против контроллера)?