Ruby on rails 如何访问API中的嵌套资源
我有一个使用Rails API的Ember应用程序。我有一个团队表和一个裁判表,两者都链接到另一个名为CreditTeamStats的表。我正在尝试获取一支球队的所有裁判员队伍统计数据,并包括裁判员资源,以便获得裁判员的姓名。简而言之,我需要我的余烬应用程序调用Ruby on rails 如何访问API中的嵌套资源,ruby-on-rails,ember.js,ember-data,Ruby On Rails,Ember.js,Ember Data,我有一个使用Rails API的Ember应用程序。我有一个团队表和一个裁判表,两者都链接到另一个名为CreditTeamStats的表。我正在尝试获取一支球队的所有裁判员队伍统计数据,并包括裁判员资源,以便获得裁判员的姓名。简而言之,我需要我的余烬应用程序调用/teams/:team\u id/referenceteamstats?include=reference 最初,我让我的应用程序通过以下操作获取路线中的裁判员团队统计信息: model() { return this.modelF
/teams/:team\u id/referenceteamstats?include=reference
最初,我让我的应用程序通过以下操作获取路线中的裁判员团队统计信息:
model() {
return this.modelFor('teams/show').get('refereeTeamStats');
}
这将调用
/teams/:team_id/referediteamstats
,但不包括裁判资源。通过在嵌套资源(裁判员TeamStats)上包含资源(裁判员)来获取裁判员TeamStats的最佳方法是什么?您的裁判员TeamStats
序列化程序可以实现DS.EmbeddedRecordsMixin
,并定义
attrs: {
referee: { embedded: 'always' }
}
因此,如果您的API在
裁判员团队统计数据
有效负载中返回裁判员
键,则ember会将其反序列化到正确的对象。我最终以不同的方式进行了此操作。因为我使用了gem,所以我可以改为执行/referenceTeamstats?filter[team_id]=:team_id&include=reference
。为此,我做了以下工作:
model() {
const team = this.modelFor('teams/show');
return this.store.query('refereeTeamStat', {filter: {team_id: team.get('id')}, include: 'referee'});
}
您传递了哪些资源来响应该方法?