Beim Hinzufügen von Datensätzen in einem has_many
Verband und Speichern der Eltern machen stoßen, updated_at
ist, dass Eltern nicht angestoßen wird:, wie Active updated_at auf neue has_many Verein
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">
Dies macht Sinn, beacause Order
es nicht berührt; der fremde Schlüssel lebt auf dem LineItem
.
jedoch in diesem Fall würde Ich mag die Order
abfragen und nur Order
s finden, die neuen LineItem
s in den letzten 30 Minuten erhalten hat (das heißt: Es wurde „aktualisiert“ in den letzten 30 Minuten).
Ich bin nicht sicher, was hier am besten ist, und wie ich das leicht erreichen könnte. Gibt es ein Flag oder eine Methode, die ich einrichten könnte, um AR die Eltern updated_at
wie beschrieben zu aktualisieren? Oder sollte ich das über einen Haken machen? Wenn ja, welcher Haken? Oder sollte ich diesen Zeitstempel in einer anderen Spalte speichern?
Beachten Sie, dass ich die line_items.updated_at
durch eine join(:line_items)
abfragen konnte, aber das würde wahrscheinlich meinen Code überladen und weniger performant machen: oder ist das der bevorzugte Weg für solche Probleme in Rails?