【发布时间】:2013-10-07 01:53:12
【问题描述】:
我的服务器返回如下所示的 JSON 响应:
{
'book': {
'id': 252,
'name': 'The Hobbit',
'tag_ids': [1, 2, 3, 5, 6, 7]
}
}
我正在使用 Ember Data 的 DS.RESTSerializer,我已对其进行了扩展以包含一个 keyForRelationship 函数,该函数可识别以 "_ids" 结尾的键确实有很多关系。因此,上面的代码应该与我的模型代码匹配得很好,如下所示:
App.Book = DS.Model.extend({
name: DS.attr('string'),
tags: DS.hasMany('tag')
});
问题在于,每当我创建一本新书并且服务器返回其 JSON 响应时,Ember Data 的存储就会出错。它无法将 ID 转换为实际的 tag 实例。相反,模型上的 tags 属性实际上设置为 ID 数组。
有什么想法吗?
【问题讨论】:
-
您是否尝试过将
tags定义为异步,例如:DS.hasMany('tag', {async: true}) -
是的,试过了,没有真正的成功。看起来正确的答案是使用新的 DS.ActiveModelAdapter 而不是 DS.RESTAdapter
标签: json ember.js ember-data