在名爲closed_date的訂單中有一列是DateTime字段。鐵軌髒污和日期變化
使用髒。試圖做if self.closed_date_changed?
但它不工作。我需要做一些特殊的事情來跟蹤日期時間字段的變化嗎?
編輯 使用Rails 3.0.3,紅寶石1.9.2p136
代碼訂單控制器
def update
@order = Order.find(params[:id])
if @order.update_attributes(params[:order])
@order.close_order
end
end
end
在型號
include ActiveModel::Dirty
def close_order
if self.closed?
if self.closed_date_changed?
self.items.each do |item|
item.update_attribute(:created_at, self.closed_date)
end
end
else
self.update_attributes(:closed_date => Time.now, :closed => true)
self.items.each do |item|
item.update_attribute(:created_at => Time.now)
item.schedule_any_tasks
end
end
end
end
您使用的是哪種版本的導軌? – Kelly 2011-04-07 13:07:21
當你看到這種行爲時,你可以放一些代碼示例嗎? – shingara 2011-04-07 13:08:44