2013-01-06 39 views
5

我正在構建一個簡單的CRUD應用程序。我從服務器獲取記錄列表,點擊第一個,我是show頁上有delete按鈕關係到控制器上的這個動作是記錄:在餘燼中刪除的記錄不會從集合中刪除

destroy: function() { 
    this.content.deleteRecord() 
    this.store.commit() 
    this.transitionTo('usersIndex') 
} 

我知道的記錄是刪除,我可以看到它在服務器上被刪除。 AJAX請求成功。但是,該記錄仍然顯示在索引頁面上。如果我從服務器進行硬刷新,現在它已經不存在了。

我的路由器爲usersIndex如下:

App.UsersIndexRoute = Ember.Route.extend({ 
    model: function(params) { 
    return App.Users.find(); 
    }, 
    setupController: function(controller, model) { 
    controller.set('content', model); 
    } 
}); 
+0

你有沒有想過爲什麼?我有類似的問題。 – chopper

+0

任何人都找到了合理的解決方法? (我有同樣的問題) – TrevTheDev

回答

0

我申請我的項目的解決方案是加強usersIndex到例如過濾掉任何記錄請將isDeleted

在模板類似:

{{#unless user.isDeleted}} 
    {{render 'user' user}} 
{{/unless}} 

而且可以充分利用afterModel鉤用於測試請將isDeleted例如爲:

afterModel: function(model){ 
    if ((!model.get('users').isAny('isDeleted',false)) || model.get('users.length') === 0){ 
     this.send('exitUserIndex'); 
    } 
} 
+0

這是一個新問題嗎? –

+0

更新它以刪除我的問題。 – TrevTheDev

1

調用deleteRecord必須保存它餘燼數據之後。

destroy: function() { 
    this.content.deleteRecord() 
    this.content.get('isDeleted'); 
    this.content.save() 
    this.store.commit() 
    this.transitionTo('usersIndex') 
} 

或者你也可以起訴destroyRecord其刪除THH記錄來自後端和灰燼數據

destroy: function() { 
     this.content.destroyRecord() 
     this.transitionTo('usersIndex') 
    } 

希望這有助於!

相關問題