पृष्ठभूमि
मेरे पास गहरे घोंसले वाले संघों के साथ रेल आवेदन है।सक्रिय मॉडल सीरियलाइजर्स के साथ उत्सुक लोड एसोसिएशन
.-< WorkPeriod
Timecard -< Week -< Day -<--< Subtotal
`-< Adjustment
-< (has many)
मैं Active Model Serializer उपयोग कर रहा हूँ एपीआई बाहर का निर्माण।
क्लाइंट साइड पर मैं एक टाइमकार्ड और उसके सभी एसोसिएशन को एक शॉट में लोड करना चाहता हूं।
वर्तमान में मेरी serializers,, इस तरह दिखना
class TimecardSerializer < ActiveModel::Serializer
embed :ids, include: true
has_many :weeks
end
class WeekSerializer < ActiveModel::Serializer
embed :ids, include: true
has_many :days
end
# ... etc ...
समस्या
यह सब काम करता है लगता है छोड़कर कुछ भी नहीं उत्सुक-लोडेड हो जाता है। तो यह प्रत्येक अनुरोध के लिए डेटाबेस में बहुत सी कॉल करने के समाप्त होता है। प्रत्येक सप्ताह के लिए, यह उस सप्ताह के दिनों के लिए एक अलग अनुरोध करता है। और प्रत्येक दिन, यह इसके कार्य_ अवधि, उप-योग, और समायोजन के लिए एक अलग अनुरोध करता है।
यह एक संसाधन लोड करने के लिए ठीक है, लेकिन अगर इस धारावाहिक का उपयोग 'टाइमकार्ड' की सूची वापस करने के लिए किया जाता है तो काम नहीं करेगा। विशेष रूप से, 'सप्ताह' उत्सुकता से लोड नहीं किया जाएगा, हालांकि 'सप्ताह' संघ होंगे। – hjdivad