问题陈述
我有两个模型Chapter
和Item
. AChapter
可以有很多Item
s。模型声明如下。
App.Chapter = DS.Model.extend({
items: DS.hasMany('item')
});
App.Item = DS.Model.extend({
chapter: DS.belongsTo('chapter')
});
当我请求所有章节时,我也会在响应中包含这些项目。JSON 响应示例如下。
{
items: [
{ id: 1 },
{ id: 2 },
{ id: 3 }
]
chapters: [
{
id: 1,
items: [1, 2]
},
{
id: 2,
items: [3]
}
]
}
章节上的 hasMany 关系工作正常,即如果我这样做chapter.items
,它会返回正确的项目列表。但是,未设置项目的 belongsTo 关联。对于任何给定的项目,调用item.chapter
总是返回 null。
我的问题
如何在Item
s 上设置 belongsTo 关系,而不必chapter
在 JSON 响应中指定属性?
我试过的
我已经尝试在两端明确表示反向关系,但这并不能解决问题。
App.Chapter = DS.Model.extend({
items: DS.hasMany('item', { inverse: 'chapter' })
});
App.Item = DS.Model.extend({
chapter: DS.belongsTo('chapter', { inverse: 'items' })
});