Допустим, у меня есть 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();
Новый адрес будет сохранен, однако объект person не будет распознан как измененный; хотя список идентификаторов ушел из
{
...
"addresses": []
}
к
{
...
"addresses": [3]
}
Есть ли способ, чтобы данные ember -знали, что мой объект person был изменен, и ему нужно спастись?
Изменить: Здесь — jsfiddle, иллюстрирующий проблему.