hasMany数据未定义的ember-data

时间:2013-04-17 11:23:59

标签: ember.js ember-data

我尝试使用ember-data检索一些数据。但是当我在控制台中查看检索到的模型对象时,只有artists: undefined

我不明白为什么关联没有完成,这是我的代码

MyApp.Track = DS.Model.extend
    artists: DS.hasMany 'MyApp.Artist'
    name: DS.attr 'string'

MyApp.Artist = DS.Model.extend
    name: DS.attr 'string'

并且应该加载数据:

{
    "track": {
    "name": "Troublemaker",
    "id": 74,
    "artists": [
        {
            "artist": {
                 "name": "Taio Cruz"
            }
        }
    ]
  }
}

我已获得该曲目的名称,但未获得idartists数据。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

你必须将艺术家的ID作为artist_ids数组返回

这是http://emberjs.com/guides/models/the-rest-adapter/#toc_relationships

的文档

此外,如果您打算制作一个ajax请求,则必须包含艺术家的ID才能使其工作http://emberjs.com/guides/models/the-rest-adapter/#toc_sideloaded-relationships

如果你的后端在轨道上,你必须在模型序列化器中包含ID,如下所示:

class TrackSerializer < ActiveModel::Serializer
  attributes :id, :name, :actist_ids
end