2016-12-02 5 views
0

EmberJS/Ember-Dataプロジェクトで削除されたレコードを表示しないようにするときに問題があります。EmberJSリストが削除されたレコードを表示しないようにする方法は?

私はルートを持っている:ユーザー/ route.js

export default Ember.Route.extend({ 
    model: function() { 
     console.debug('UserRoute.model'); 
     return this.store.findAll('user'); 
    } 
}); 

テンプレート:ユーザー/ template.hbs

<table class="table table-condensed table-hover" style="table-layout:fixed"> 
     {{#each model as |user|}} 
      <tr {{action "editUser" user}} class={{user.status}}> 
       <td>{{user.userid}}</td> 
      </tr> 
     {{/each}} 
    </tbody> 
</table> 

ユーザールート:ユーザー/ route.js

export default Ember.Route.extend({ 
    actions: { 
     deleteUser: function(user) { 
      var record = this.modelFor('user'); 
      record.destroyRecord().then(() => { 
       this.transitionTo('users'); 
      }); 
     }, 
    } 
}); 

ユーザーテンプレートは、deleteUserアクションを生成します。 destroyRecordを呼び出した後のID 59

Using Ember Inspector on the user model data with id 59

とユーザモデルデータにエンバーインスペクタを使用

ネットワークトランザクションが

the network transaction headers

と応答ペイロードからのヘッダバックエンド

ストアで今すぐand response payload from backend

ユーザレコードフラグ

Now the user record flags in the store

しかし、アイテムは1つが表示し、その後だけに、再び削除しようとすることができ、ユーザのルートに表示され続けエラーが表示されます。

error

をWhatは私が間違ってやっています!

おかげで、 バリー

答えて

-1

私はこのつもり作品かどうかわからないが、私はあなただった場合、私がしようとするだろう:

var currentUser = this.modelFor('user'); 

store.find('user', currentUser.id).then(function (user) { 
user.deleteRecord(); 
    user.get('isDeleted'); // => true 
    user.save(); // => DELETE to /users/:id 
}); 

// OR 
store.find('user', currentUser.id).then(function (user) { 
    user.destroyRecord(); // => DELETE to /users/:id 
}); 

同様のコードは、公式サイトから入手できます。 guides.emberjs.com/v1.10.0/models/creating-and-deleting-records/

関連する問題