我有一个后端,让我以异步方式读取数据,但强制嵌入某些子数据(代替交易)。
将DS.EmbeddedRecordsMixin与...一起使用时
{
serialize: 'records',
deserialize: 'ids'
}
...(考虑到这个后端应该是正确的做法)我还有两个问题。
(1)http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html非常明确,DS.EmbeddedRecordsMixin不应与async:true
混合。据我所知,问题在于混合async:true
与嵌入式阅读,而非写作。另一方面,文档没有区别。我是否善于将async:true
与上述配置混合(并且是本案例中缺少的文档),或者我对async:true
和写作缺少什么?
(2)在我的后端删除父母时,所有孩子也被删除。删除应该只是父母的一次调用。我如何在余烬上做到这一点?我想删除商店中的父项和所有子项,发送一个 REST请求,此请求的成功/失败应该对所有这些记录具有权威性。然而,DS.EmbeddedRecordsMixin似乎并没有以任何方式帮助我朝这个方向发展。我是靠自己,还是我错过了什么?
答案 0 :(得分:1)
就您的第一个问题而言,我认为您善于将async:true
和EmbeddedRecordsMixin
混合用于您的案例。请参阅this blog post和my example js-bin
至于2,EmbeddedRecordsMixin
让你自己离开了。但是如果你查看代码,它所做的只是在提取它们时将记录推送到商店,所以要反转它,你应该做的就是从商店中卸载这些记录。我保留对子记录的引用,然后成功删除父级,使用record.unload()
清理子级。 Same example js-bin
答案 1 :(得分:0)
为任何可能在以后偶然发现此问题的人回答数字(1):在Kori John Roys的回答的鼓励下,我提交了一个拉取请求以包含数据以清除文档。它已被接受,因此现在仅在文档中警告将async: true
与嵌入的读取混合。