2013-01-06 13 views
5

私は簡単なCRUDアプリケーションを構築しています。私が最初にクリックし、サーバーから取得したレコードのリストを持っていると私は、コントローラ上のこの行動に結びつけるdeleteボタンでそのレコードのshowページに午前:emberで削除されたレコードはコレクションから削除されていません

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

私は私のプロジェクトの上に塗布された溶液は、例えば任意のisDeletedレコードをフィルタリングするusersIndexを強化することでした以下のようなテンプレートなもので

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

また一つはisDeleted例えばテストするためにafterModelフックを活用することができます。:

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') 
} 

またはあるいは両方のバックエンドと燃えさしデータ

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

この情報がお役に立てば幸いですからTHHレコードを削除したdestroyRecordを訴えることができます!

関連する問題