के साथ एकाधिक मॉडल युक्त संग्रह में बैकबोन में एक विलय संग्रह है जिसमें फ़ोटो और एल्बम शामिल हैं।Backbone.js: संग्रह में एक ही आईडी
उनके बीच अंतर करने के लिए, मैंने एक क्षेत्र type
जोड़ा है जो या तो photo
या album
है। जब मैं संग्रह को पॉप्युलेट, मैं Collection#model
विधि के भीतर विभिन्न मॉडल बनाने
model: (attrs, options) ->
switch attrs.type
when 'album' then new App.Models.Album(attrs, options)
when 'photo' then new App.Models.Photo(attrs, options)
अब मैं जहां एक तस्वीर और एक ही आईडी के साथ एक एलबम जोड़ने एक अजीब बग discoverd गए किसी मर्ज में परिणाम (मान लीजिए कि 2
हैं)।
मैंने इसे स्रोत कोड में these LOC पर ट्रैक किया है। ऐसा लगता है कि यह बैकबोन का एक कांटा बनाये बिना पूर्ववत है। मैंने कोशिश की है लेकिन यह भी fails 35 tests है।
मैं ऐसा करने का 4 अलग अलग तरीकों के बारे में सोचा, मैं नहीं जानता कि जो उनमें से बेहतर एक है:
- मैं आईडी के लिए एक उपसर्ग जोड़ सकते हैं। मान लें
photo_2
। यह बैकएंड में बदलाव के साथ-साथ फ्रंट में कुछ बदलावों को/photos/photo_2
- पर बैकबोन और change these LOC का उपयोग कर सकता है।
- मैं दो अलग संग्रह बना लेकिन किसी मर्ज और ध्यान में रखते हुए एक तरह से निपटने के लिए हो सकता था
- मैं की एक फोटो पहचान पत्र के साथ शुरू कर सकता है (जो ग्राहकों प्रदर्शन प्रभाव और बैकएंड के एक नए सिरे से लिखना की आवश्यकता है), मान लें कि
1000000
जाने । इससे संभावना कम हो जाएगी कि किसी दिए गए उपयोगकर्ता ने किसी दिए गए आईडी के साथ फोटो अपलोड किया है, उसी आईडी के साथ एक एल्बम भी बनाया है।
क्या मॉडल को इसके गुणों के बजाय यहां तर्क के रूप में प्राप्त करने का कोई तरीका है? –