如何保存嵌套模型

时间:2013-07-24 07:00:06

标签: javascript rest ember.js ember-data

我正在使用一个使用ember数据和RESTAdapter的Ember.js项目。

我的模型存在问题和可能的答案。

App.Question = DS.Model.extend({
    answers: DS.hasMany('App.Answer'),
    text: DS.attr('string'),
    image: DS.attr('string')
});

App.Answer = DS.Model.extend({
    question: DS.belongsTo('App.Question'),
    text: DS.attr('string'),
    image: DS.attr('string')
});

我的观点是一种模式,您可以在其中创建或编辑问题及其答案。在点击“保存”按钮或上传图像时,应保存问题和可能的答案。

问题是保存程序非常复杂。

  • 为了上传答案的图像,我需要确保服务器上存在答案。
  • 为了保存答案,我需要确保问题存在。

他们是否可以告诉余烬立即保存整个问题及其答案?

1 个答案:

答案 0 :(得分:2)

我认为此解决方案可能只是解决您问题的方法:

DS.RESTadapter.map('App.Question', { answers: {embedded: 'always'} });

例如参见:Ember.js commiting parent model with already existing child models

关于人际关系的更多内容可以在突发变化中找到:https://github.com/emberjs/data/blob/master/BREAKING_CHANGES.md