簡體   English   中英

Deleterecord不會從HasMany數組中刪除對象

[英]Deleterecord is not deleting object from the HasMany array

我有一個事件模型,它與騎手模型有關系。 事件模型具有一個稱為riders的屬性,該屬性具有hasmany許多騎手,並且也是異步的。 騎手模型具有一個名為event的屬性,該屬性是一個belongingTo,它包含它所屬的適當事件。 我正在從自己的REST API(通過Node.js和Express 4運行)加載所有數據。

這是我的刪除代碼:

import Ember from 'ember';

export default Ember.Controller.extend({
    actions: {
        deleteRider: function () {
            var model = this.get('model');
            var evt = model.get('event');

            model.deleteRecord();
            model.save().then(function() {
                evt.save();
            });
        }
    }
});

模型/event.js

import DS from 'ember-data';

export default DS.Model.extend({
    name: DS.attr('string'),
    city: DS.attr('string'),
    state: DS.attr('string'),
    date: DS.attr('string'),
    riders: DS.hasMany('rider', {
        async:true,
        inverse:'event'
    })
});

models / rider.js

import DS from 'ember-data';

export default DS.Model.extend({
    name: DS.attr('string'),
    city: DS.attr('string'),
    state: DS.attr('string'),
    BB: DS.attr('boolean'),
    SB: DS.attr('boolean'),
    BU: DS.attr('boolean'),
    event: DS.belongsTo('event')
});

我在了解要確切刪除的內容時遇到問題。

但是我的方式是。 有一個Model實例數組,有一個toDeleteModelInstances數組。 使用每種方法在模板上顯示第一個數組。 在刪除每個實例的過程中,您可以使用toDeleteModelInstancesArray.pushObject(selectedInstance)

看起來像這樣。

刪除

deleteFieldset: function(givenRecord){

     //remove from Each array then push to array containing deleted records
    this.get('controller.markedForDeleted.pushObject(givenRecord));
    // You now have a record in given array [class,class]
}

現在進行編輯操作

      var personsToDelete = self.markedForDeleted.map(function(item){ 
        return item.destroyRecord();
      });

      // Checks for deletedInstances array 
      if(Ember.isEmpty(personsToDelete)){
        deletePersonSuccess();
      } else {
        Ember.RSVP.all(personsToDelete).then(deletePersonSuccess, deletePersonFailure);
      }  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM