0

我的服务器返回如下所示的 JSON 响应:

{
  'book': {
    'id': 252,
    'name': 'The Hobbit',
    'tag_ids': [1, 2, 3, 5, 6, 7]
   }
}

我正在使用 Ember Data's DS.RESTSerializer,我已经对其进行了扩展以包含一个keyForRelationship函数,该函数识别以结尾的键"_ids"实际上是 hasMany 关系。因此,上面的代码应该与我的模型代码匹配得很好,如下所示:

App.Book = DS.Model.extend({
    name: DS.attr('string'),
    tags: DS.hasMany('tag')
});

问题是每当我创建一本新书并且服务器返回它的 JSON 响应时,Ember Data 的存储就会出错。它无法将 ID 转换为实际tag实例。相反,tags模型上的属性按字面意思设置为一个 ID 数组。

有任何想法吗?

4

1 回答 1

1

您应该考虑使用DS.ActiveModelAdapter而不是DS.RESTAdapter. 另请参阅https://stackoverflow.com/a/19209194/1345947

于 2013-10-07T15:44:14.090 回答