Ember.js数据记录显示内容:在关系检查器

时间:2016-04-22 03:20:27

标签: node.js express ember.js

我的' user.js'中有以下代码: ember-data中的模型:

export default DS.Model.extend({
  organization: DS.belongsTo('organization'),
  //other stuff
});

网站的CRUD按预期工作,在MongoDB中,我可以看到以下用户组织字段:

"organization" : ObjectId("571974742ce868d575b79d6a"),

但是,我不确定这是否是我的代码中的错误,或者我不了解Ember数据是如何工作的,我无法从模型钩子中访问该ID,如下所示:

model(){
        return this.store.findRecord("user", this.get("session.currentUser.id"))
            .then(user => this.store.findRecord("location", {organization: user.organization}));
    }

如果我去Ember检查员观察User对象的belongsTo属性,我看到:

organization: <(subclass of Ember.ObjectProxy):ember956>

但点击后我会看到content: null

我做错了什么?可能是服务器端错误吗?

编辑,包括来自服务器的JSON响应,用于上述findRecord(&#34;用户&#34;)电话:

{
   "links":{
      "self":"/users/5719749a2ce868d575b79d6b"
   },
   "included":[
      {
         "type":"organizations",
         "id":"571974742ce868d575b79d6a",
         "links":{
            "self":"/organizations/571974742ce868d575b79d6a"
         },
         "attributes":{
            "creation-date":"2016-04-22T00:46:44.779Z"
         }
      }
   ],
   "jsonapi":{
      "version":"1.0"
   },
   "data":{
      "type":"users",
      "id":"5719749a2ce868d575b79d6b",
      "links":{
         "self":"/users/5719749a2ce868d575b79d6b"
      },
      "attributes":{
         "email":"danthwa@gmail.com",
         "first-name":"Daniel",
         "last-name":"Thompson",
         "registration-date":"2016-04-22T00:47:22.534Z"
      },
      "relationships":{
         "organization":{
            "type":"organizations",
            "id":"571974742ce868d575b79d6a"
         }
      }
   }
}

1 个答案:

答案 0 :(得分:0)

确认。正如Kingpin2k所述,

  

关系没有正确构建,我认为组织内部的类型和ID需要在数据对象中。

这适用于期望JSON API spec有效负载的Ember站点,这意味着它们已配置为使用JSONAPISerializer来处理传入的有效负载。