店/蜃気楼からフィルタリングされたデータを取得します。私はすでにミラージュをインストールし、データと呼ばれる配列を宣言しています。それは世帯、ユーザー、およびデバイスのような配列を保持します。今私は店からフィルタリングされたデータを取得して立ち往生していると私は本当に店の動作によって混乱している。このような理由から私はすでにFiltering store data in emberのようないくつかの同等のトピックを読んでいますが、これは私の場合はうまくいきません。私は彼のメンバーアレイ内のユーザーIDを持つすべての世帯を見たいhouseholds.indexするつもりならばエンバーは、私が残り火とsmarthomeデバイス用のアプリを構築しようとしています
は、実はこれが私のrouter.js
Router.map(function() {
this.route('about');
this.route('users', function() {
});
this.route('households', function() {
this.route('index', { path: '/:user_id' })
this.route('rooms',{ path: '/:household_id' });
this.route('devices');
});
});
です。以下のコードを抜粋して、私のデータ構造の例を示します。
"users": [
{
"id":101,
"forename":"Peter",
"surname":"Peterson",
"memberIn":[
501
]
},
{
"id":102,
"forename":"Anna",
"surname":"Peterson",
"memberIn":[
501
]
}
]
"households":[
{
"id":501,
"name":"Zuhause",
"admin":131000,
"member":[
101,
102
]
}
私はこの{{#リンク-に "households.index" user.id}}のようなルートhousehold.indexを呼び出していますし、household.indexの私のルートは、この
model(params) {
//holt alle Haushalte und gibt dann nur die Haushalte weiter, die auch den aktuellen Benutzer als Member haben.
return this.get('store').findAll('household').then(results => results.filter((site) => {
return site.get('member').filter(x => x == params.user_id).length > 0;
}));
}
のように見えますそして、私のconfig.jsの部分は次のような奇跡です:
this.get('/households', function(db, request) {
return { households: data.households };
});
これはうまくいきます! しかし、私の意見では、サーバーは私に私が要求していたデータを提供する責任があります。だから私が望むのは、特定の要求を出して、必要な世帯を手に入れることだけです。
私の試み: index.js:
export default Route.extend({
model(params) {
return this.get('store').find('household', params.user_id);
}
});
設定JSの一部:
this.get('/households/:id', function(db, request) {
console.log('household get');
console.log(data.households.filter(x => x.member.filter(x => x == request.params.id).length > 0));
return { households: data.households.filter(x => x.member.filter(x => x == request.params.id).length > 0) };
});
デバッグエラー:
Error while processing route: households.index payload.data is null
このエラーが発生した理由を私は理解して傾けます。ログは私に返したい配列を与えます。 JSONAPISerializer
これでデフォルトエンバーデータの船で
はあなたの助けをありがとう、あなたは、単一の応答のための
、以下の形式でデータを返すされていることを確認。私はRestadapterを使っていると言います。 – panx36