【发布时间】:2015-02-21 23:15:17
【问题描述】:
我正在尝试序列化用户对象并将其传递给 ember 客户端。我的应用使用 RESTserializer。
一个用户对象有一个地址对象。只有地址没有单独的端点,所以我不能只提供外键 id 并旁加载它。
收到的 JSON 只包含地址作为对象,看起来像这样:
{"user":
{
"id":"5",
"name":"Andrew",
"address":
{
"id":"3",
"addressable_id":"5",
"street":"1",
"country_code":"US"
}
}
在 ember 方面我有一个用户模型
App.User = DS.Model.extend({
name: DS.attr('string'),
address: DS.belongsTo('address'),
//hasOne via belongsTo as suggested by another SO post:
//http://stackoverflow.com/questions/14686253/how-to-have-hasone-relation-with-embedded-always-relation
});
和一个地址模型
App.Address = DS.Model.extend({
addressable_id: DS.attr('string'),
street: DS.attr('string'),
country_code: DS.attr('string'),
user: DS.belongsTo('user')
});
当前运行此代码会在控制台中引发错误:
TypeError: Cannot read property 'typeKey' of undefined
可以通过删除来修复
address: DS.belongsTo('address'),
用户模型中的行,但关系未正确加载。
那么我在配置这个时做错了什么?我正在寻找有关这方面的最新文档。
【问题讨论】:
-
你在使用embedded record mixin吗?
-
实际上看起来我可能误解了您发送的链接。这可能会解决我的问题。
-
成功了!如果您重新提交它作为带有某些上下文的答案,我会接受它。太感谢了!我已经为此挣扎了好几个小时。
标签: ember.js ember-data