灰烬不能显示模板中的belongsTo值

时间:2018-10-30 00:26:10

标签: javascript ember.js belongs-to

我有2个建立了一对一关系的模型。

models / character.js:

export default DS.Model.extend(Validations, {
    name: DS.attr('string');
    weapon: DS.belongsTo('weapon', {async:true}).
});

models / weapon.js

 export default DS.Model.extend(Validations, {
     weapon: DS.attr('string'),
     character: DS.belongsTo('character',  {async: true}),
 });

我创建了一个newCharacter记录,并在控制器中设置了武器属性,如下所示:

let weaponChoice = this.get('weaponSelected');

    //find weapon based on weapon name
    let weaponPromise = this.store.query('weapon', {
        filter: {
            weapon: weaponChoice
        }
    }).then( (items) => {
        //set the weapon record here
        newCharacter.set('weapon', items.get('firstObject'));
        newCharacter.save();
    });

然后在另一个页面上,尝试像这样在我的模板中显示武器:

{{model.weapon}}

在显示时显示为:

<(unknown):ember300>

当我在控制台中查看ember标签时,这很有意义,因为这就是显示的内容。但是,当我查看数据库时,它表明武器列具有ID以引用正确的武器。

该武器已保存在我的数据库中,但是当我想在页面上显示它时,似乎无法正确访问它。我如何获得它?即使我在路径中访问武器模型,它仍然会显示相同的内容。有人能启发我做错什么吗?

这是我目前的参考路线:

export default Route.extend({
    model: function (params) {
        return this.store.findRecord('character', params.character_id);
    }
});

0 个答案:

没有答案