Ember数据未加载hasMany on store.find()

时间:2014-03-10 20:17:40

标签: ember.js ember-data

我目前有一个包含两个hasMany关系的模型,如下所示:

Ember模特:

DS.Model.extend({
  createdAt: DS.attr('date'),
  updatedAt: DS.attr('date'),
  name: DS.attr('string'),
  address: DS.attr('string'),
  city: DS.attr('string'),
  state: DS.attr('string'),
  zip: DS.attr('string'),
  users: DS.hasMany('user',{async:true}),
  templates: DS.hasMany('template',{async:true})
});

使用此模型,我有新的模板/控制器/等设置来创建新用户和新模板。我可以成功保存新的/更新现有组织,但是当我尝试将对象推送到用户或模板时,我会失去现有用户或模板阵列中的其他组件。

我可以看到这是因为我在控制器中加载组织以创建新记录并没有拉入其他记录,它拉入了自己的阵列,而不是其他的,例如新模板控制器上的这个代码:

新模板控制器

  organizations: function(){
    return this.store.find('organization');
  }.property(),
  actions: {
    createTemplate: function() {
      var self = this;
      console.log(self.get('organizations'));
    }
  }

当附加到记录时,将在控制台中显示模板,但不会显示用户。反之,新用户控制器上的相同代码不会显示它所引入的模板,但会显示用户。

我可以做些什么来让我的发现返回两个关系数组。它们都在数据库中,我可以看到它们调用其余的api,但只是在使用ember找到它们时。

我对Ember仍然很新,所以任何帮助都会非常感激。

感谢。

修改

来自服务器的示例JSON响应

{
  "organization": {
     "id": 40,
     "name": "Sample Business LLC",
     "address": "1234 Fun Avenue",
     "city": "Happytown",
     "state": "NE",
     "zip": "12345",
     "users": [4,1],
     "templates": [4,1],
     "createdAt": "2014-02-18T23:10:08.466Z",
     "updatedAt": "2014-02-18T23:10:08.466Z"}
   },
   "meta": {
     "href": "http://server/organizations/40"
   }
}

0 个答案:

没有答案