2013-02-07 118 views
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

回答