Поэтому я пытаюсь отфильтровать свои транзакции по выбранному пользователю. Я не использую сеансы для пользовательской системы, вместо этого я использую меню, которое обновляет selectedAt, и таким образом я беру последнего выбранного пользователя. Теперь я хочу показать транзакции только от выбранного пользователя. Я пробовал несколько вариантов, но они, похоже, не работают для меня.
Мой контроллер выглядит следующим образом
users: computed(function() {
return this.get('store').peekAll('user');
}),
selectedUser: computed('users.length', function() {
return this.get('users').sortBy('selectedAt').reverse().objectAt(0);
}),
transactions: computed(function() {
return this.get('store').findAll('transaction');
}),
Моя модель транзакции:
export default Model.extend({
category: DS.attr(),
name: DS.attr(),
description: DS.attr(),
amount: DS.attr(),
date: DS.attr(),
typeOfT: DS.attr(),
user: DS.belongsTo('user')
});
и моя модель User:
export default Model.extend({
fullName: DS.attr(),
picture: DS.attr(),
darkMode: DS.attr(),
selectedAt: DS.attr('date'),
transactions: DS.hasMany('transaction')
});
Я могу успешно вызывать каждую транзакцию для currentUser в шаблоне, называя их как
{{#each selectedUser.transactions as |transaction|}}
{{transaction.name}}
{{/each}}