[英]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.