Ember Data を使用して、曲を含むプレイリストを取得しています。コードは次のとおりです。
App.PlaylistRoute = Em.Route.extend({
model: function(params) {
var plist = this.store.find('playlist', params.id);
console.log(plist);
return [];
}
})
App.Playlist = DS.Model.extend({
beats: DS.hasMany('beat')
});
App.Beat = DS.Model.extend({
name: DS.attr('string')
});
このコードの問題は、動作してデータを返しますが、モデルではなくあいまいなオブジェクトであるということです。私はそれを行うことはできませplist.get('beats')
ん。JSON データは非常に単純です。plist.get('id')
undefined
{
"playlist": {
"id": "popular-beats",
"beats": [
"1",
"2"
]
},
"beats": [
{
"id": "1",
"name": "Name"
},
{
"id": "2",
"name": "Another Name"
}
]
}
コンソールに配列を記録すると、次のオブジェクトが返されます。
__ember1383247403867: "ember293"
__ember1383247403867_meta: e
_super: undefined
content: s
isFulfilled: true
toString: function (){return e}
__proto__: Object
ドリルダウンするcontent._data
と、配列が見つかります。そのbeats
ため、データは正常にロードされますが、期待する適切なモデルが返されません。