2013-02-14 10 views
17

Cheers! Ho un modello, e un attributo di esso è un array, ma per qualche motivo (uso mongoDB sul server ed è un problema con modelli incorporati ed ember-data) Non riesco a fare qualcosa del genere:Ember.js array come proprietà del modello

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

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

ho bisogno di qualcosa di simile:

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

Ma non c'è alcun tipo di array di attributi in tempora-dati, come essere?

+0

Abbiamo bisogno di maggiori informazioni qui. Penso che tu stia cercando una trasformazione. – albertjan

+0

Aggiornato, grazie. – xamenrax

risposta

30

ho scoperto che in realtà si può avere proprietà di matrice fuori dalla scatola da solo, non specificando un tipo.

#coffeescript 

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

Sto usando questo, e quando faccio questo

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

Il carico utile per il server è in effetti la mia matrice come è.

+2

Cheers, Andy, ho fatto questa domanda il 14 febbraio 13, quindi è possibile che sia obsoleto o smth. – xamenrax

+0

@nikita nessun problema! Sì, non ho trovato alcuna documentazione intorno, penso di averlo appena provato. Spero che sia d'aiuto! – andy

+1

Sì, mi aiuta comunque: D – inquisitive

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

Dal mio collega impressionante 'Theron Humiston'

+0

cos'è 'raw'? hai definito la trasformazione personalizzata? – kumkanillam

Problemi correlati