重置 isDirty 标志

Reset isDirty-flag

我有这两个型号:

// Subject
export default DS.Model.extend({
    willBeActive: DS.attr('boolean')
})

// StudyPlan
export default DS.Model.extend({
    name: DS.attr('string'),
    subjects: DS.hasMany('subjects'),
    havaChanges: function(){
        var isDirty = this.get('isDirty'), 
         subjectsDirty = this.get('subjects').isAny('isDirty', true);
        return subjectsDirty || isDirty;
    }.property('isDirty', 'subjects.@each.isDirty')
})

我使用 EmbeddedRecordsMixinActiveModelAdapter 将所有已更改的 subjects 嵌入到 studyPlan 有效负载中,但是当 promise 被解析时 isDirty 标志每个主题的保留在 true。保存 StudyPlan 后,如何重置每个 subjectisDirty 标志?

您可能对this package

感兴趣

它在子记录脏时将父记录标记为脏,并在保存父记录时清除子记录上的 isDirty 字段。