我的' 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"
}
}
}
}
答案 0 :(得分:0)
确认。正如Kingpin2k所述,
关系没有正确构建,我认为组织内部的类型和ID需要在数据对象中。
这适用于期望JSON API spec有效负载的Ember站点,这意味着它们已配置为使用JSONAPISerializer来处理传入的有效负载。