2017-07-20 19 views
0

Rails APIを使用するEmberアプリがあります。私はチームテーブルとレフリーテーブルを持っています。どちらもrefereeTeamStatsという別のテーブルにリンクしています。私は審判の名前を手に入れることができるように、審判のリソースを含めてチームのすべての審判のTeamStatsを取得しようとしています。要するに、私は私のエンバーアプリを呼び出す必要が/teams/:team_id/refereeTeamStats?include=referee 当初、私は私のアプリはこれを行うことにより、ルートでrefereeTeamStatsを取得しました:APIでネストされたリソースにアクセスする方法

model() { 
    return this.modelFor('teams/show').get('refereeTeamStats'); 
} 

これが/teams/:team_id/refereeTeamStatsを呼び出します、これは審判のリソースが含まれていません。入れ子にされたリソース(refereeTeamStats)にリソース(審判員)を含めることでrefereeTeamStatsを取得する最良の方法は何ですか?

+0

あなたはその方法の答えとしてどのようなリソースを渡しますか? – Vishal

答えて

0

あなたrefereeTeamStatsシリアライザはDS.EmbeddedRecordsMixin実装し、あなたのAPIがrefereeTeamStatsペイロードでrefereeキーを返す場合、燃えさしが正しいオブジェクトにデシリアライズするように

attrs: { 
    referee: { embedded: 'always' } 
} 

を定義することができます。

0

私はこれを別のやり方でやりました。 JSONAPI::Resourcesの宝石を使っていたので、代わりに/refereeTeamStats?filter[team_id]=:team_id&include=refereeをやりました。これを行うには、私はこれをしました:

model() { 
    const team = this.modelFor('teams/show'); 
    return this.store.query('refereeTeamStat', {filter: {team_id: team.get('id')}, include: 'referee'}); 
} 
関連する問題