我有自定义Ember.Data适配器的Ember应用程序。我有模型A和B以及它们之间的单向关系。
App.A = DS.Model.extend({
b: DS.belongsTo('b')
});
问题是可以在后端删除模型B而不进行集成检查(这不是问题)。问题是,现在加载模型A时,它还尝试查找与id = X的关系,但记录丢失了。因此,Ember.Data会自动为ID为X的模型B创建一个空记录,这会弄乱我的数据。列出所有模型B时,此空记录也会显示出来。
我目前检测到在我的适配器的extractSingle方法中找不到该记录并抛出一个新的Ember.Error。
如何处理这种情况的正确方法是什么?通过isEmpty,isLoading或其他属性手动过滤记录?似乎有一些notFound事件,我应该抓住这个并做点什么吗?我应该将关系定义为异步,这有助于解决这种情况吗?