Здравствуйте! Ситуация следующая:
Имеются 2 модели: заметка и пользователь. У заметки есть поле "автор", через которое эти модели связаны как М-1. Для получения данных используется mirage. В шаблоне данные о пользователе не появляются.
Модель заметок:
export default DS.Model.extend({
subject: DS.attr(),
message: DS.attr(),
user: DS.belongsTo('user'),
created_at: DS.attr(),
updated_at: DS.attr(),
});
Модель пользователя:
export default DS.Model.extend({
username: DS.attr(),
email: DS.attr(),
notes: DS.hasMany('note'),
});
Код в mirage:
this.get('/notes/:id', function (db, request) {
let note = notes.find((note) => parseInt(request.params.id) === note.id);
let result = {
data: note
};
if (request.queryParams.include === 'user') {
result.included = [users.find((user) => parseInt(note.attributes.user_id) === user.id)];
}
return result;
});
При этом из mirage модель точно возвращается и распознается (показывается в EmberInspector).
В шаблоне HandleBars пишу {{model.user.username}}. Пусто. При этом, если написать {{log model.user}}, то выводится пустая модель.
Есть подозрение, что это связано с тем, что модель note уже присутствует на клиенте: чуть раньше грузятся все модели note для вывода списка, причем грузятся без пользователей.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости