親レコードをロールバックしても、追加された可能性のある新しい子レコードは削除されないようです。これがバグなのか機能なのかは不明です。
App.Company = DS.Model.extend({
name: DS.attr('string'),
employees: DS.hasMany('App.Employee')
});
App.Employee = DS.Model.extend({
name: DS.attr('string'),
company: DS.belongsTo('App.Company')
})
var company = App.Company.find(1);
//Initially: company.get('employees.length') => 0
var employee = company.get('employees').createRecord();
//Now: company.get('employees.length') => 1
employee.get('transaction').rollback();
//Still: company.get('employees.length') =>1
//Also: employee.get('isDeleted') => true
company.get('transaction').rollback();
//Even now: company.get('employees.length') =>1
//How do I rollback such that company.get('employees.length') == 0