1

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}}

在 Publications/edit hbs(在出版物中选择后编辑一个出版物)中,我使用以下语法,但这不起作用:

{{author.name}}

我应该如何访问嵌入的数据?

4

1 回答 1

1

首先,您的工作小提琴,抱歉我将它移植到 jsbin,因为我更喜欢它,但这不会以任何方式影响功能:http: //jsbin.com/ifukev/2/edit

现在我已经改变了,基本上我所做的是定义 aApp.Author有许多出版物并且 aApp.Publication属于 aApp.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]
  }
];

希望能帮助到你。

于 2013-08-13T15:50:27.497 回答