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);
  }
});
4

2 に答える 2

1

deleteRecord を呼び出した後、ember データ用に保存する必要があります。

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

または、バックエンドと残りのデータの両方からレコードを削除した destroyRecord を訴えることもできます

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

お役に立てれば !

于 2016-05-20T09:32:50.690 に答える