7
我對ember.js相當陌生,我正在做一些實踐。我最近在試圖刪除記錄時遇到了一些困難。這裏是我的編輯路線(從我稱之爲刪除)刪除記錄時,轉換到另一條路由失敗
App.PostsEditRoute = Ember.Route.extend({
model: function(params){
return App.Post.find(params.id);
},
exit: function() {
this._super();
tx = this.get('currentModel.transaction');
if(tx)
tx.rollback();
},
setupController: function(controller, model){
controller.set('content', model);
},
events: {
save: function(post){
post.one('didUpdate', this, function(){
this.transitionTo('posts.show', post);
});
post.get('transaction').commit();
},
cancel: function(){
this.transitionTo('posts.show', post);
},
destroyPost: function(context) {
var post = context.get('content');
post.deleteRecord();
post.get('store').commit();
this.transitionTo('posts.index');
}
}
});
所以我要通過我觸發destroyPost的鏈接。記錄被成功刪除,並且我開始轉換到索引路由,但發生錯誤...
未捕獲錯誤:試圖在處於狀態rootState.deleted.inFlight時處理事件rollback
。用undefined調用
在此之後,加載索引頁的模型停止,我得到一個空白頁。我可以提供任何所需的附加代碼。這是指數路線。
App.PostsIndexRoute = Em.Route.extend({
model: function(){
return App.Post.find();
},
setupController: function(controller, model){
controller.set('content', model);
}
});
我應該注意到這兩條路由都是正確加載的。只有在轉型中我纔會失敗。
這工作。我從其他地方拉代碼;我只是試圖在這一點上學習。不過,應該已經通過文檔更好地閱讀。感謝您指點我正確的方向。 – sentinel21 2013-02-16 00:31:49