1
我在收到Ember刪除具有belongsTo關係的記錄時遇到問題。我有一個設置了一比一的關係這樣的情侶款:Ember刪除記錄太多遞歸
App.User = DS.Model.extend({
account: DS.belongsTo('App.Account')
...
});
App.Account = DS.Model.extend({
user: DS.belongsTo('App.User'),
...
});
這是)我的UserController的
deleteUser: function() {
user = this.get('model');
var transaction = App.store.transaction();
transaction.add(user);
user.deleteRecord();
transaction.commit();
this.transitionTo('users');
}
當它到達user.deleteRecord我deleteUser方法(;在控制檯中出現錯誤太多的遞歸。試圖逐步通過的問題,我發現無限循環中的代碼在主ember.js本節文件發生
var meta = obj[META_KEY], desc = meta && meta.descs[keyName],
isUnknown, currentValue;
if (desc) {
desc.set(obj, keyName, value);
} else {
....
}
deleteRecord調用clearRelationships這就要求Ember.set(這一點,「帳戶」,NULL)上用戶對象。在Ember.set()中,當它碰到上面的代碼時,它會找到對用戶對象的引用並在其上設置呼叫..然後找到它上面設置的帳戶和呼叫..發現用戶和呼叫設置在它上面..等
如果這是Ember中的錯誤任何人都可以幫我解決或解決方法?這裏是我的例子jsFiddle