繁体   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