これは、3月25日現在のember rc1マスター、およびember-data rev 12です。モデルのhasManyをサイドロードすることができません。サイドロードされたデータは、ストアで実体化されません。デフォルトのRESTAdapterを使用します。
App.AssetLinkGroup = DS.Model.extend({
asset_links : DS.Model.hasMany('App.AssetLink')
})
App.AssetLink = DS.Model.extend({
asset_link_group : DS.Model.belongsTo('App.AssetLinkGroup')
})
App.AssetLinkGroup.find(5)のサーバーから返されるjsonは次のとおりです(簡潔にするために、name / date / etcなどの基本的な属性の多くが削除されています)
{
"asset_link_group": {
"asset_link_ids": [154,155],
"asset_links": [
{
id : 154,
"asset_link_group_id": 5
},
{
id : 155,
"asset_link_group_id": 5
}
]
}
}
App.AssetLinkGroup.find(5)は、サーバーからAssetLinkGroupモデルを正常にロードします。しかし、AssetLinksはストアで具体化されていないようです。App.AssetLink.all().contentを試してみると、空の配列が表示されます。
さらに私が試してみると:
var algroup5 = App.AssetLinkGroup.find(5);
algroup5.get('asset_links');
サーバーに対してfindMany呼び出しを行い、ストアにこれらのレコードがないことを示します。
AssetLinkGroupをロードしたときに、AssetLinkレコードがストアで実体化されないのはなぜですか?