我的 Ember 应用程序中有一个模型,它有一个 hasMany 关系:
App.Book = DS.Model.extend({
tags: DS.hasMany('tag')
});
问题在于,在书籍中添加/删除标签时,书籍模型本身不会变得"脏"。例如:
book = this.store.find('book', 123);
book.get('tags.length')
==> 0
tag = this.store.find('tag', 456);
book.get('tags').pushObject(tag);
book.get('tags.length')
==> 1
book.get('isDirty') // should be true, but is false
==> false
在我看来,book
实例现在应该是肮脏的,因为它的一个关系被改变了。我做错了什么?
临时解决方案是在修改记录的关系后手动调用record.send('becomeDirty')
。