Ember.js 数据关联不保存

标签 ember.js ember-data

假设我有 2 个模型:

App.Address = DS.Model.extend({
   street: DS.attr('string'),
   person: DS.belongsTo('App.Person')
})

App.Person = DS.Model.extend({
  name: DS.attr('string'),
  addresses: DS.hasMany('App.Address')
})

现在我创造了一个人
App.person = App.Person.createRecord({name: 'Bill'});
App.store.commit();

如果我尝试向这样的人添加地址
address = App.Address.createRecord({street: '123 Fake Street'});
App.person.get('addresses').pushObject(address);

并提交交易
App.store.commit();

新地址将被保存,但person 对象不会被识别为已更改;
即使 id 列表已经从
{
  ...
  "addresses": []
}


{
  ...
  "addresses": [3]
}

有没有办法让 ember-data 知道我的 person 对象已更改并且需要
被拯救?

编辑:
Here是说明问题的 jsfiddle。

最佳答案

截至目前( Ember 数据修订版 4),还没有办法做到这一点。该对象仅保留在belongsTo 端,因为它具有外键,因此如果您在关系的属于端设置值,它应该持久化。下一个版本的 ember 数据应该解决这个问题。

关于Ember.js 数据关联不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11480252/

相关文章:

ember.js - EmberData 在 Controller 中管理模型,无需路由

javascript - EmberJS 嵌套

ruby-on-rails - Ember.js + Handlebars 自定义助手

javascript - Ember.js - 获取 DOM 元素的模型数据

javascript - Ember Data 1.0 - 如何在数据加载时触发模型上的观察者?

javascript - Ember 数据 ajax 调用

javascript - 如何动态地将组件添加到另一个组件的div中?

model - Ember Data - 在模板中呈现一对多

javascript - 编辑 API 端点的 REST 适配器 url

javascript - 加载路线时 ember-data 错误 : TypeError {}