0

我一直在与我正在开发的应用程序中的一个错误作斗争。我创建了一个JSBin来说明它,这些是重现它应该采取的步骤:

  1. 单击显示“新规则集”的链接

您将看到 Rule Set Builder 模板显示该框。请注意,我已经包含了id、和属性isDeleted,以便轻松查看该记录的状态。我还显示了关系的长度。isDirtyisSavinghasMany

  1. 单击“删除”链接以销毁该记录

正如预期的那样,规则集框消失了,长度表示有 0 个规则集。我同时使用removeObject父模型和destroyRecord我要删除的对象,尽管我认为 Ember 数据应该为我解决这个问题。

请注意,在控制台中,我正在记录firstObject,即使 为 0,它似乎也很奇怪。length我不知道这是否与下一步发生的事情有关。

  1. 再次单击“新规则集”链接

您会看到显示了两个框。第一个是您之前删除的规则集。请注意 it isDeleted, notisDirty和 not isSaving,如此处所示,意味着更改已持续存在。

显然,再次从记录中点击“ RemoveisDeleted ”会在控制台中引发错误:

未捕获的错误:尝试deleteRecord在 root.deleted.saved 状态下处理事件。

我错过了什么?{{#each}}应该显示记录吗isDeleted

谢谢您的帮助!

4

1 回答 1

1

我在 Ember Data 存储库中提交了一个问题,事实证明这已经被报告了。

看看#2666以了解后续情况以及暂时解决它的一些方法。我看到的最新一个是由dwickern发布的,它涉及使用计算属性

comments: Ember.computed.filterBy('model.comments', 'isDeleted', false)

显然ember-data.1.0.0.beta-12没有问题,并且已经有一个Pull Request #2722可能的解决方案。

于 2015-02-20T23:21:33.020 回答