2013-02-14 101 views
17

乾杯! 我有一些模型,它的一個屬性是一個數組,但由於某些原因(我在服務器上使用mongoDB,它是嵌入式模型和餘燼數據的問題)我不能這樣做:Ember.js數組作爲模型的屬性

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 2013-02-14 17:32:26

+0

更新,謝謝。 – xamenrax 2013-02-14 18:58:56

回答

30

我發現,其實你可以只是沒有指定類型有陣性開箱。

#coffeescript 

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

我使用這個,當我做到這一點

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

有效載荷的服務器確實是我的數組是。

+2

乾杯,安迪,我在13年2月14日問過這個問題,所以它可能已經過時或不適合了。 – xamenrax 2014-09-29 21:07:34

+0

@nikita沒問題!是的,我沒有找到任何文件,我想我只是試了一下。希望能幫助到你! – andy 2014-09-30 05:12:02

+1

是的,它幫助我:D – inquisitive 2015-04-17 13:25:26

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

從我真棒同事 '塞隆Humiston'

+0

什麼是'生'?你是否定義了自定義轉換? – kumkanillam 2018-02-13 03:11:20