所以我试图通过 selectedUser 过滤我的交易。我没有为用户系统使用会话,而是使用更新 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')
});
和我的用户模型:
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}}