當添加記錄到has_many
關聯和保存父,是父母的updated_at
沒有碰着:如何使ActiveRecord的的updated_at碰到新的has_many協會
order = Order.new
order.save
pp order
=> #<Order id: 3, created_at: "2013-04-18 15:25:09", updated_at: "2013-04-18 15:25:09">
order.line_items << LineItem.new()
pp order.line_items
=> [#<LineItem id: 4, order_id: 3, created_at: "2013-04-18 15:26:16", updated_at: "2013-04-18 15:26:29", product_id: 123>]
order.save
pp order.reload
=> #<Order id: 3, created_at: "2013-04-18 15:25:09", updated_at: "2013-04-18 15:25:09">
這是有道理的,東陽Order
它沒有觸及;外鍵位於LineItem
上。
然而,在這種情況下,我想查詢Order
,發現只有Order
,在最後30分鐘已經收到新LineItem
šš(即:在最後30分鐘被「更新」)。
我不確定在這裏做什麼最好,以及我如何輕鬆實現這一目標。是否有一些標誌或方法可以讓AR更新所描述的父母updated_at
?或者我應該通過一些鉤子來做到這一點?如果是這樣,什麼鉤子?或者我應該將此時間戳存儲在不同的列中?
請注意,我可以通過join(:line_items)
來查詢line_items.updated_at
,但這可能會使我的代碼更加混亂,性能更低:或者這是Rails中這些問題的首選方式嗎?