Сохранение вложенных моделей
У меня есть две модели, как это:
App.Build = DS.Model.extend({
allegiance: DS.attr('string'),
profession: DS.attr('string'),
skills: DS.hasMany('skill')
});
App.Skill = DS.Model.extend({
name:DS.attr('string'),
value:DS.attr('number')
});
В моем приложении у меня есть элементы управления, чтобы установить верность, профессию и значения каждого навыка (тамдо 55).
Затем в хэше действий моего контроллера приложений у меня есть действие для сохранения модели сборки на сервере.
save:function(){
var store = this.get('store');
var skills = this.get('controllers.skills').get('model');
console.log(skills);
var build = store.createRecord('build',{
profession:1,
allegiance:1,
skills:skills
});
build.set('skills',skills);
build.save();
console.log('Saved!');
}
Но когда модель сборки отправляется на сервер, свойство навыков представляет собой пустой массив:
{"build":{"allegiance":"1","profession":"1","skills":[]}}
я уверен, что яя делаю что-то не так, но я могуне могу понять, что и можноНе могу найти хорошую документацию по этому поводу. Дополнительное примечание, все, что мне нужно для отправки, это идентификатор навыка и значение.
Любая помощь будет оценена!
ОБНОВИТЬ:
Вслед за Даниэлемпредложение, яМы отредактировали функцию сохранения, чтобы использовать pushObjects для добавления навыков в модель сборки, а затем сохранить ее. Это'сейчас работает лучше. Сгенерированные почтовые данные теперь выглядят так:
{"build":{
"allegiance":1,
"profession":1,
"skills":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55"]}}
Это список идентификаторов умений. Ни один из других атрибутов не представлен в сообщении. Я'мы пытались перебрать навыки, создать новый объект и просто вставить id и значение, которые являются единственными частями, которые мне нужны, но это дает мне ошибку. Что-то типа, не может использовать неопределенный, должен быть тип навыка.
Это похоже на то, что данные Ember должны обрабатывать изначально. Есть ли что-то, что яотсутствует, чтобы заставить его отправить другие атрибуты навыка в запросе?
Спасибо!!