mongoid - how to run code when embedded document is created -


मेरे पास निम्न मॉडल हैं:

  क्लास उपयोगकर्ता मोंगॉयड :: दस्तावेज़ एम्बेड्स_ऑन: कूरियर , Class_name: "उपयोगकर्ता :: कूरियर" validates_associated: कूरियर स्वीकार करता है: कूरियर अंत मॉड्यूल उपयोगकर्ता वर्ग कूरियर में Mongoid :: Document embedded_in: user after_create: foo def foo "कूरियर निर्मित" एंड एंड  

लेकिन यह कॉलबैक केवल अगर मैं सहेजें सीधे कूरियर ऑब्जेक्ट पर कॉल करता हूं, तब नहीं चला जाता है, जब मैं मूल ऑब्जेक्ट को सहेजता हूं।

इस प्रकार नेस्टेड फ़ॉर्म और नियंत्रक जो बनाता है कूरियर सहित उपयोगकर्ता कूरियर के कॉलबैक को नहीं चलाता है।

मानकीकृत प्रलेखन कहते हैं कि यह डिजाइन द्वारा है:

किसी भी दस्तावेज़ पर कॉलबैक उपलब्ध हैं, चाहे किसी अन्य दस्तावेज़ के अंदर एम्बेड किया गया है या नहीं ध्यान दें कि कुशल बनने के लिए, मोगॉयड केवल दस्तावेज़ के कॉलबैक को आग्रह करता है कि दृढ़ता की कार्रवाई को अंजाम दिया गया था। यह है कि मोंगॉयड का उद्देश्य बड़े पदानुक्रमों का समर्थन करना है और अनुकूलित परमाणु अद्यतनों को संभालने के लिए कॉलबैक सभी दस्तावेज़ पदानुक्रम पर गोलीबारी नहीं कर सकते हैं।

लेकिन मैं कैसे कोड लिख सकता हूं जो एक कूरियर बनाया गया है? मेरे मामले में मैं उपयोगकर्ता के बाद कॉलबैक में कोड नहीं चला सकता, क्योंकि ऐसे उपयोगकर्ता हैं जो एम्बेडेड दस्तावेज़ कूरियर नहीं हैं। लेकिन जब कोई कूरियर जोड़ा जाता है तो मुझे एक कॉलबैक चलाना है।

ऐसा करने का सबसे अच्छा विकल्प क्या है?

इसका जवाब मिला:

embeds_one: कूरियर, क्लास_नाम: "उपयोगकर्ता :: कूरियर", कैस्केड_callbacks: true

< / html>

Comments