Ember.js 从“加载关系”;“宁静”;网址
我试图弄清楚如何使用EmberJS通过子资源路由加载对象的关系 例如:我需要在api上点击的url是Ember.js 从“加载关系”;“宁静”;网址,ember.js,relationships,Ember.js,Relationships,我试图弄清楚如何使用EmberJS通过子资源路由加载对象的关系 例如:我需要在api上点击的url是/workspace/:workspace\u id/projects,它将返回与工作区相关的项目数组。EmberJS最适合使用单级资源,因此如果我尝试执行this.store.find('project'),就会向/projects发出GET请求 我有一些请求的上下文,因为请求将来自的url是/workspace/:workspace\u id。我的直觉是在自定义适配器中使用window.loc
/workspace/:workspace\u id/projects
,它将返回与工作区相关的项目数组。EmberJS最适合使用单级资源,因此如果我尝试执行this.store.find('project')
,就会向/projects
发出GET请求
我有一些请求的上下文,因为请求将来自的url是/workspace/:workspace\u id
。我的直觉是在自定义适配器中使用window.location.pathname来构建正确的请求URL
正确的“余烬方式”是什么?您可以做的是将
工作区
上的项目
关系定义为异步,然后为链接提供找到工作区项目的正确URL。例如,来自端点/workspace/1
的响应将是:
{
workspace: {
id: 1,
links: {
projects: "https://example.com/api/workspace/1/projects"
}
}
}
那么如果在代码中的某个地方
this.store.find('workspace', 1).get('projects')
Ember数据将知道工作区的项目可以在JSON响应中提供的链接中找到,即“”
这有帮助吗?我认为只有提供关系的ID,余烬数据才能找到相关对象。请看,该指南在这方面有点不完整,有时您必须深入API以找到“隐藏的”宝石。请参阅,了解我正在谈论的功能。