2013-02-14 13 views
17

चीयर्स! मैं कुछ मॉडल है, और इसे से एक विशेषता एक सरणी है, लेकिन कुछ कारणों के लिए (मैं सर्वर पर MongoDB उपयोग करें और यह एम्बेडेड मॉडल और एंबर-डेटा के साथ समस्या यह है) मैं इस तरह somthing ऐसा नहीं कर सकते:एम्बर.जेएस सरणी मॉडल की संपत्ति के रूप में

App.Foo = DS.Model.extend({ 
    ... 
    numbers: DS.hasMany('App.Bar') 
)}; 

App.Bar = DS.Model.extend({ 
    ... 
    number: DS.attr('number') 
}); 

मैं कुछ इस तरह की जरूरत है:

App.Bar = DS.Model.extend({ 
    numbers: DS.attr('array') 
}); 

लेकिन वहाँ एंबर-डेटा में विशेषताओं का कोई सरणी प्रकार है, कैसे होने के लिए? जांच इस उत्तर:

+0

से हम यहां और जानकारी की जरूरत है। मुझे लगता है कि आप एक बदलाव की तलाश में हैं। – albertjan

+0

अपडेट किया गया, धन्यवाद। – xamenrax

उत्तर

30

मैंने पाया वास्तव में आप सिर्फ एक प्रकार को निर्दिष्ट नहीं द्वारा बॉक्स से बाहर सरणी गुण हो सकता है।

#coffeescript 

AskuWhiteLabel.SomeModel = DS.Model.extend 
    some_ids: DS.attr() 

मैं इस का उपयोग कर रहा है, और है के रूप में जब मैं सर्वर को यह

myModel.set('some_ids', [1,2,3]) 
myModel.save() 

पेलोड करना वास्तव में मेरी सरणी है।

+2

चीयर्स, एंडी, मैंने 14 फरवरी '13 को इस प्रश्न से पूछा, इसलिए यह पुराना हो सकता है या smth। – xamenrax

+0

@nikita कोई समस्या नहीं! हाँ मुझे इसके चारों ओर कोई दस्तावेज नहीं मिला, मुझे लगता है कि मैंने अभी कोशिश की है। आशा करता हूँ की ये काम करेगा! – andy

+1

हाँ यह मेरी मदद करता है हालांकि: डी – inquisitive

3
उन, जो मुझे के रूप में ही समस्या है के लिए

hasMany संबंध के साथ

https://stackoverflow.com/a/13884238/1662820

या आप पास कर सकते हैं एम्बेडेड मॉडल और एम्बेडेड के लिए कस्टम प्राथमिक कुंजी सेट एडाप्टर में मॉडल (मेरे मामले में 'संख्या')। इस परीक्षण को देखो:

https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/embedded/embedded_without_ids_test.js

2
anArrayAttr: DS.attr('raw', { defaultValue: function() { return []; } }) 

मेरी भयानक सहयोगी 'थेरॉन Humiston'

+0

'कच्चा' क्या है? क्या आपने कस्टम ट्रांसफॉर्म को परिभाषित किया है? – kumkanillam

संबंधित मुद्दे