我有一个与骑手模型有关系的事件模型。事件模型有一个名为riders的属性,它有许多车手,也是异步的。 rider模型有一个名为event的属性,它是一个belongsTo,它包含它所属的正确事件。我正在从我自己的REST API加载我的所有数据,这些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'
})
});
模型/ 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')
});
答案 0 :(得分:0)
我无法理解您究竟想要删除的内容。
但我接近这个的方式是。有一个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);
}