我需要一次性将一个深层对象保存到服务器,并且无法在线找到任何使用最新ember数据(1.0.0-beta.4)的示例.
例如,使用这些模型:(jsfiddle)
App.Child = DS.Model.extend({
name: DS.attr('string'),
age: DS.attr('number'),
toys: DS.hasMany('toy', {async:true, embedded:'always'}),
});
App.Toy = DS.Model.extend({
name: DS.attr('string'),
child: DS.belongsTo('child')
});
Run Code Online (Sandbox Code Playgroud)
这段代码:
actions: {
save: function(){
var store = this.get('store'),
child, toy;
child = store.createRecord('child', {
name: 'Herbert'
});
toy = store.createRecord('toy', {
name: 'Kazoo'
});
child.set('toys', [toy]);
child.save();
}
}
Run Code Online (Sandbox Code Playgroud)
它只保存子对象的JSON,但不保存任何玩具 - 甚至没有侧载:
{
child: {
age: null
name: "Herbert"
}
}
Run Code Online (Sandbox Code Playgroud)
我是否还必须手动保存玩具?无论如何,我可以让它将以下JSON发送到服务器:
{
child: {
age: null
name: "Herbert",
toys: [{
name: "Kazoo"
}]
} …Run Code Online (Sandbox Code Playgroud)