Мне нужно сразу сохранить глубокий объект на сервере и не смогли найти примеры в Интернете, в которых используются последние данные 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')
});
И этот код:
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();
}
}
Он сохраняет JSON только для дочернего объекта, но не для каких-либо игрушек, даже не загруженных:
{
child: {
age: null
name: "Herbert"
}
}
Нужно ли вручную сохранять игрушки? В любом случае, я могу отправить его на сервер следующего JSON:
{
child: {
age: null
name: "Herbert",
toys: [{
name: "Kazoo"
}]
}
}
или
{
child: {
age: null
name: "Herbert",
toys: [1]
}
}
См. JSFiddle: http://jsfiddle.net/jgillick/LNXyp/2/