2017-07-20 34 views
0

我有一個使用Rails API的Ember應用程序。我有一個團隊表和一個裁判表,都鏈接到另一個名爲refereeTeamStats的表。我試圖讓一個球隊的所有裁判隊隊員參賽,並且包括裁判資源,這樣我就可以得到裁判員的名字。總之,我需要我的灰燼應用程序調用/teams/:team_id/refereeTeamStats?include=referee 起初我有我的應用程序通過這樣得到refereeTeamStats通過路線:如何訪問API中的嵌套資源

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

這將調用/teams/:team_id/refereeTeamStats然而,這將不包括裁判的資源。我可以通過在嵌套資源(裁判隊隊員統計資料)上包含資源(裁判)來獲得裁判隊技術統計數據的最佳方式是什麼?

+0

您通過該方法傳遞了哪些資源? – Vishal

回答

0

refereeTeamStats串行器可以實現的DS.EmbeddedRecordsMixin,並定義

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

所以,如果你的API返回的refereeTeamStats有效載荷的關鍵referee,餘燼將其反序列化到正確的對象。

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'}); 
}