我正在使用DS.ActiveModelAdapter。
将新的Ember数据记录保存到我的后端,我想发送:
{
author: {
name: 'Mike',
book_ids: [null, null]
},
books: [
{
name: 'book1'
},
{
name: 'book2'
}
]
}
我认为这是序列化:'ids'的用途,但是当我使用这个配置时:
App.AuthorSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
books: {serialize: 'ids'}
}
});
我得到:
{
author: {
name: 'Mike',
book_ids: [null, null]
}
}
更新:
doc说:“通过使用serialize:'ids'可以选择不在序列化的有效负载中嵌入JSON。如果你根本不想发送关系,你可以使用序列化:'否”“。
所以目前尚不清楚是否只添加了id或者除了id和记录。我想在此确认这些记录并不是要通过使用序列化来添加:'ids',在这种情况下,我可以做什么来“侧推”嵌套记录。
答案 0 :(得分:1)
似乎EmbeddedRecordsMixin不是那种方式..
Ember数据模型碎片对我来说是完美的解决方案。 https://github.com/lytics/ember-data.model-fragments
根据我在问题中提出的例子,使用后者,相应的模型将是:
App.Author = DS.Model.extend({
name: DS.attr('string'),
books: DS.hasManyFragments('book')
});
App.Book = DS.ModelFragment.extend({
name: DS.attr('string')
});