Ember アプリケーションには、次のように機能する 2 つの単純なモデルがあります。
App.Book = DS.Model.extend({
tags: DS.hasMany('tag')
});
App.Tag = DS.Model.extend({
books: DS.hasMany('book', { async: true })
});
ユーザーは、UI を介して特定の本にタグを簡単に追加および削除できます。たとえば、ユーザーがタグを削除したときに実行されるコードは次のとおりです。
book.get('tags').removeRecord(tagToRemove);
book.save();
これは、本からタグを削除する際にうまく機能します。ただし、タグ モデル自体はまだ本を参照しています。つまり、逆関係は自動的に更新されません。
編集:
JS Bin ( http://jsbin.com/ucanam/1574/edit ) を実行した後、タグのbooks
プロパティが自動的に更新されないのは、{ async: true }
渡したオプションが原因のようです。とはいえ、タグには何百万冊もの本が含まれている可能性があり、それらすべてをタグでロードしたくないため、そのオプションを削除する余裕があるかどうかはわかりません。
物事をそのまま機能させる方法はありますか?