私が2つのモデルを持っているとしましょう:
App.Address = DS.Model.extend({
street: DS.attr('string'),
person: DS.belongsTo('App.Person')
})
App.Person = DS.Model.extend({
name: DS.attr('string'),
addresses: DS.hasMany('App.Address')
})
今私は人を作成します
App.person = App.Person.createRecord({name: 'Bill'});
App.store.commit();
このような人に住所を追加しようとすると
address = App.Address.createRecord({street: '123 Fake Street'});
App.person.get('addresses').pushObject(address);
トランザクションをコミットします
App.store.commit();
新しいアドレスは保存されますが、人物オブジェクトは変更されたものとして認識されません。IDのリストが
{
...
"addresses": []
}
に
{
...
"addresses": [3]
}
私のpersonオブジェクトが変更され、保存する必要があることをember-dataに通知する方法はありますか?
編集: これは問題を説明するjsfiddleです。