可以't在空的hasMany关系上使用{{#for}}助手

Can't use {{#for}} helper on empty hasMany relationships

本文关键字:#for 助手 关系 hasMany 可以      更新时间:2024-06-21

下面是我现在正在尝试渲染的模型:

App.Teacher = DS.Model.extend({
    user: DS.belongsTo('user', {async: true}),
    description: DS.attr('string'),
    students: DS.hasMany('student', {async: true})
});

这是试图显示它的模板:

{{#with teacher}}
    {{description}}
    {{#for student in students}}
        {{student.full_name}}
    {{/for}}
{{/with}}

最初这个模型是空的:

var teacher = this.get('store').createRecord('teacher', {
    description: description,
    user: model,
    students: []
});

因为这个用户刚刚注册成为一名教师。每当我点击按钮注册老师时,控制器就会创建空模型并保存所有内容,当我只有descriptionuser字段时,它运行得很好。由于添加了hasMany s和{{for}} s,我得到了这个错误:

Uncaught Error:  Handlebars error: Could not find property 'for' on object <DS.PromiseObject:ember488>

有什么想法吗?

此外,我使用的是couchdb,当保存教师模型时,空数组不会出现在持久化记录中,无论是在我向createRecord提供空数组时,还是在我不提供空数组的情况下。这是个问题吗?我正在使用这个沙发适配器。

您是否尝试使用#each#for不是真的。

http://emberjs.com/guides/templates/displaying-a-list-of-items/