我正在使用emberData,我有以下模型
App.Product = DS.Model.extend({
page_title: DS.attr('string'),
image: DS.attr('string'),
shop: DS.belongsTo('App.Shop', {embedded: true}),
style: (function() {
return "background-image:url('" + this.get("image") + "')";
})
});
JSON数据如下所示:
{
id: 1,
image: 'imageUrl',
shop: {
id: 2,
name: 'shopName'
}
}
在我的模板中,我想链接到显示商店的页面
<img {{bindAttr src="image"}}>
{{#linkTo "shop" shop}}Store{{/linkTo}}
不幸的是,它链接到http://localhost:3000/#/shop/undefined
答案 0 :(得分:1)
将模型嵌入belongsTo
是没有意义的。中断更改文档表明您将对象嵌入父对象中:
嵌入父级
适配器可以通过嵌入ID来保存一对多关系(或 记录)在父对象中。在这种情况下,关系不是 被认为是公认的,直到老父母和新父母都有 承认这一变化。
在这种情况下,适配器应跟踪旧的父级和新的父级 父母,并确认一旦两者都有关系改变 确认。如果双方中的一方不存在(例如新的 由于将belongs-to归零,因此parent不存在 关系),适配器应该确认一次关系 另一方已经承认了。
你的装置必须是:
App.Product.FIXTURES = [{
id: 1,
image: "imageUrl",
shop_id: 2
}];