我有两种模式:
wrong.jsp
我想从App.User = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
phoneNumber: DS.attr('string'),
studies: DS.hasMany('study', {async: true})
});
App.Study = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
});
取消分配一些Studies
当用户按下视图中的取消分配按钮时,控制器内部会有一个操作此代码的操作:
User
这会从actions: {
//...
unassign: function(study){
this.get('user').get('studies').removeObject(study);
this.get('user').save();
}
//...
}
列表中删除studyId
,但它也会从Ember商店中删除users.studies
。
如何从study
取消分配study
,但保持user.studies
表不受影响。
我正在使用:
studies
答案 0 :(得分:0)
没关系,我通过计算研究列表并设置它来克服这个问题。 (不要调用removeObject)。行间的一些事情:
actions: {
unassing: function() {
var newUserStudies = Ember.A();
this.get('studies').forEach(function(study) {
if (study.get('selected')) { //selected
newUserStudies.push(study);
}
});
this.get('user').set('studies', newUserStudies);
this.get('user').save();
}
}