【发布时间】:2017-06-14 00:28:26
【问题描述】:
我正在尝试实现一个搜索功能,用户可以通过将用户名传递给组件来返回其他用户。我遵循了 ember 指南,并在我的路线文件中有以下代码:
import Ember from 'ember';
export default Ember.Route.extend({
flashMessages: Ember.inject.service(),
actions: {
searchAccount (params) {
// let accounts = this.get('store').peekAll('account');
// let account = accounts.filterBy('user_name', params.userName);
// console.log(account);
this.get('store').peekAll('account')
.then((accounts) => {
return accounts.filterBy('user_name', params.userName);
})
.then((account) => {
console.log(account);
this.get('flashMessages')
.success('account retrieved');
})
.catch(() => {
this.get('flashMessages')
.danger('There was a problem. Please try again.');
});
}
}
});
但是,此代码会引发以下错误:
"You cannot pass '[object Object]' as id to the store's find method"
我认为.find 方法的这种实现不再有效,我需要以不同的方式返回对象。我该怎么做呢?
【问题讨论】:
-
您说您遵循了 ember 指南,但它在哪里提到使用 find 方法。
find是一个私有方法,所以不要使用它。
标签: javascript ember.js frameworks ember-data