Ember не может отображать значение ownTo в шаблоне
У меня есть 2 модели с отношениями один к одному.
Модели /character.js:
export default DS.Model.extend(Validations, {
name: DS.attr('string');
weapon: DS.belongsTo('weapon', {async:true}).
});
Модели /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 в моей консоли, это имеет смысл, потому что это то, что она показывает. Однако, когда я смотрю на свою базу данных, она показывает, что в столбце оружия указан идентификатор, указывающий на правильное оружие.
Оружие сохраняется в моей БД, но я не могу получить к нему доступ, когда хочу отобразить его на странице. Как я могу получить к нему доступ? Даже когда я даю доступ к модели оружия в моем маршруте, он все равно показывает то же самое. Кто-нибудь может просветить меня о том, что я делаю неправильно?
Вот мой маршрут в настоящее время для справки:
export default Route.extend({
model: function (params) {
return this.store.findRecord('character', params.character_id);
}
});