我一直在讨论我正在开发的应用中的一个错误。我创建了一个JSBin来说明它,这些是您应该重现它的步骤:
您将看到规则集构建器模板显示该框。请注意,我已添加id
,isDeleted
,isDirty
和isSaving
属性,以便轻松查看该记录的状态。我还显示了hasMany
关系的长度。
正如预期的那样,规则集框消失,长度表示有0个规则集。我正在使用父模型中的removeObject
和我试图删除的对象上的destroyRecord
,尽管我认为Ember数据应该为我处理。
请注意,在控制台中我正在记录firstObject
,即使length
为0,也很奇怪。我不知道这是否与发生的事情有关下一步。
您会看到显示两个方框。第一个是您之前删除的规则集。请注意isDeleted
,而不是isDirty
而不是isSaving
如何表示here表示更改仍然存在。
显然,从isDeleted
记录再次点击“删除”会在控制台中抛出错误:
未捕获错误:在状态root.deleted.saved中尝试处理事件
deleteRecord
。
我错过了什么? {{#each}}
是否应显示isDeleted
?
感谢您的帮助!
答案 0 :(得分:1)
我在Ember Data回购中提交了一个问题,事实证明已经报道了这个问题。
请查看#2666进行后续跟踪以及暂时解决此问题的方法。 我看到的最新版本是由 dwickern 发布的,它涉及使用计算属性而不是
comments: Ember.computed.filterBy('model.comments', 'isDeleted', false)
显然 ember-data.1.0.0.beta-12 没有问题,并且已经有Pull Request #2722可能的解决方案。