请参阅http://jsfiddle.net/cyclomarc/VXT53/6/
我的数据形式为:
publication: {
id: '1',
title: 'first title',
bodytext: 'first body',
author: {
id: '100',
name: 'Jan'
}
},
我想在hbs部分显示作者姓名。在出版物hbs(显示每个出版物)中,我使用以下语法,但这不起作用:
{{publication.author.name}}
在出版物/编辑hbs(在出版物中选择后编辑一个出版物)中,我使用以下语法,但这不起作用:
{{author.name}}
我应该如何访问嵌入数据?
答案 0 :(得分:1)
首先,你的工作小提琴,抱歉我将它移植到jsbin,因为我更喜欢它但是这不会以任何方式影响功能:http://jsbin.com/ifukev/2/edit
现在我已经改变了,基本上我所做的就是定义一个App.Author
有很多出版物而一个App.Publication
属于一个App.Author
并完成了各自的FIXTURES :
App.Author = DS.Model.extend({
name: DS.attr('string'),
publications: DS.hasMany('App.Publication'),
didLoad: function () {
console.log('Author model loaded', this);
}
});
App.Publication = DS.Model.extend({
title: DS.attr('string'),
bodytext: DS.attr('string'),
author: DS.belongsTo('App.Author'),
didLoad: function () {
console.log('Publication model loaded', this);
}
});
//FIXTURES DATA
App.Publication.FIXTURES = [
{
id: '1',
title: 'first title',
bodytext: 'first body',
author: 100
},
{
id: '2',
title: 'second title',
bodytext: 'second post',
author: 300
}
];
App.Author.FIXTURES = [
{
id: '300',
name: 'Marc',
publications: [2]
},
{
id: '100',
name: 'Jan',
publications: [1]
}
];
希望它有所帮助。