2017-07-20 44 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'}); 
}