Я пытаюсь создать запись, которая имеет hasMany/принадлежит к ассоциации. Запись будет создаваться, но это не спасает ...Emberjs создать запись с hasMany/принадлежит
История модели:
export default DS.Model.extend({
title: DS.attr('string'),
description: DS.attr('string'),
tasks: DS.hasMany('task', { async: true })
});
модели Задача:
export default DS.Model.extend({
title: DS.attr('string'),
story: DS.belongsTo('story', { async: true })
});
компонент объекта:
actions: {
createNewTask(){
var taskTitle = this.get('newTaskTitle');
var tasks = this.get('story.tasks');
var story = this.get('story');
this.set('newTaskTitle', '');
this.sendAction('action', taskTitle, tasks, story);
this.send('toggleModal');
}
В вышеприведенном , story = model и this.get ('story.tasks') всегда возвращает пустой массив.
маршрута объект:
export default Ember.Route.extend({
model: function(params){
return this.store.findRecord('story', params.id);
},
actions: {
createNewTask(newTaskTitle, tasks, story){
var newTask = this.store.createRecord('task', {
title: newTaskTitle
});
newTask.save().then(function(task){
//I think the issue is somewhere in here
tasks.addObject(task);
story.save();
});
}
}
В принципе, созданная задача не сохраняется с ним ассоциируется история ... Любая помощь будет большой. Благодаря!
EDIT Это сохраненная в формате JSON от моего локального хранилища
{
"story":{
"records":{
"3jf2h":{
"id":"3jf2h",
"title":"Story1",
"description":"Story1",
"tasks":[
"6i03h"
]
}
}
},
"task":{
"records":{
"6i03h":{
"id":"6i03h",
"title":"T1",
"description":"T1",
"story":null
}
}
}
}
Что вы подразумеваете под «созданной задачей не сохраняется с ее связанной историей»? У вас есть какие-то ошибки или что? –
@ GennadyDogaev Я редактировал свой вопрос с сохранением json. Всякий раз, когда я создаю задачу, она добавляется в массив задач в истории, но для вновь созданной задачи история равна нулю. – Jshoe523
Итак, вы используете локальное хранилище и смотрите там. Но, я думаю, что все в порядке, и когда ember будет загружать данные из хранилища, он будет обрабатывать отношения. –