1

我正在尝试显示一个具有 hasMany 关系的模型,并且每个关系都有一个 belongsTo 关系。

出于某种原因,Ember 不想显示 belongsTo。

这是我的模型:

App.City = DS.Model.extend({
    city: DS.attr('string')
});

App.Child = DS.Model.extend({
    name: DS.attr('string'),
    city: DS.belongsTo('city', {async: true})
});

App.Activity = DS.Model.extend({
    children: DS.hasMany('child',{async:true}),
    name: DS.attr('string')
});

我的模板如下所示:

Activity name: {{name}}<br />
{{#each child in children}}
    Child name: {{child.name}}<br />
    Child city name: {{child.city.name}}
{{/each}}

{{child.city.name}}为空。

我在这里创建了一个 JSFiddle 来说明问题:http: //jsfiddle.net/N2xdx/

4

1 回答 1

1

在您的城市赛程中,您拥有:

App.City.FIXTURES = [
    {
        id: 1,
        name: 'Aarhus'
    }
];

但是你App.City没有name: DS.attr('string')映射。将您的模型更新为以下内容,一切都会正常工作:

App.City = DS.Model.extend({
    name: DS.attr('string'),
    city: DS.attr('string')
});

这是这个工作http://jsfiddle.net/marciojunior/vDaxt/的小提琴

于 2013-10-29T11:36:59.523 回答