जब एक has_many
संघ के रिकॉर्ड को जोड़ने और माता-पिता की बचत, कि माता-पिता की updated_at
टकरा नहीं है बनाने के लिए:कैसे ActiveRecord नई has_many संघ पर updated_at टक्कर
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
beacause इसे छुआ नहीं; विदेशी कुंजी LineItem
पर रहता है। (: गया "अद्यतन" पिछले 30 मिनट में यानी)
हालांकि, इस मामले में, मैं Order
क्वेरी और केवल Order
कि पिछले 30 मिनट में नए LineItem
रों प्राप्त करने वाले को खोजने के लिए चाहते हैं।
मुझे यकीन नहीं है कि यहां क्या करना सबसे अच्छा है, और मैं इसे आसानी से कैसे प्राप्त कर सकता हूं। क्या कोई ध्वज या विधि है जिसे मैं एआर को माता-पिता updated_at
वर्णित करने के लिए सेट कर सकता हूं? या मुझे कुछ हुक के माध्यम से ऐसा करना चाहिए? यदि हां, तो क्या हुक? या मुझे इस टाइमस्टैम्प को एक अलग कॉलम में स्टोर करना चाहिए?
ध्यान दें कि मैं line_items.updated_at
को join(:line_items)
से पूछताछ कर सकता हूं, लेकिन शायद यह मेरा कोड अधिक अव्यवस्थित और कम प्रदर्शन करेगा: या रेल में ऐसे मुद्दों के लिए यह पसंदीदा तरीका है?