我真的被Ember-data造成的大量问题所困扰,而且它缺乏对嵌入式记录的支持。
我搜索了整个网络,大多数帖子都过时了,其他的都过时了+需要我使用第三方库或连接300行有很多缺点的特殊代码。
我不知道如何使用嵌入的记录与ember-data,因为它现在的地位?
edit:现在有一个新的文档http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html
发布于 2014-06-15 05:54:36
通过使用ActiveModelSerializer
,您可以包含允许您使用嵌入式记录的EmbeddedRecordsMixin
。(在金丝雀版本1.0测试版9+中,您也可以使用JsonSerializer
/RESTSerializer
)
串行器
App.ColorSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
foos: {embedded: 'always'}
}
});
模型
App.Color = DS.Model.extend({
color: DS.attr(),
foos: DS.hasMany('foo')
});
App.Foo = DS.Model.extend({
name: DS.attr()
});
JSON
{
colors:[
{
id: 1,
color: "red",
foos:[
{
id:1,
name:'something 1'
},
{
id:2,
name:'something 2'
}
]
},
...
http://emberjs.jsbin.com/qagalabaso/1/edit
对于RESTSerializer
和JsonSerializer
,它遵循相同的模式
App.ColorSerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
foos: {embedded: 'always'}
}
});
https://stackoverflow.com/questions/24222457
复制相似问题