我尝试使用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"
}
}
]
}
}
我已获得该曲目的名称,但未获得id
和artists
数据。
非常感谢你的帮助。
答案 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