EmberJS - 关系没有被推动

时间:2016-05-25 14:29:03

标签: ember.js

我有两个一对一关系的模型。我只需要一个关系方向。

App.A = DS.Model.extend({
    b: DS.belongsTo('b', { async: true }),
});

App.B = DS.Model.extend({
    name: DS.attr('string'),
});

模型A是从服务器加载的。 使用store.pushPayload手动推送模型B.

如果在模型A之前加载模型B,一切都很好,{{a.b.name}}在模板内正常工作。但是当模型A在模型B之前加载时,名称为空(整个关系实际上没有设置)。

如何告诉模型A模型B已加载?

1 个答案:

答案 0 :(得分:2)

如果模型A中的关系存在,Ember将自动请求您的B模型。你使用哪个ember / ember-data? 您使用的是REST还是JSONAPI适配器?

您对模型A的服务器响应需要包含有关模型B的关系的数据。

即。在JSON API响应中看起来像这样

"data": {
"type": "A",
"id": "1",
"attributes": {
  "some-attribute": "JSON API paints my bikeshed!"
},
"relationships": {
  "b": {
    "data": {
      "id": "123",
      "type": "b"
    },
  }
}