我的API包含资源/api/resource
的对象。我可以通过this.store.find(...)
调用访问那个,因为我已经设置了api
扩展适配器的命名空间。
现在我也想访问相同的资源,但这次是在/admin/resource
网址下。而且我认为最简单的做法是新的适配器有一个名称空间admin
而不是api
。
示例:
App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
namespace: 'api'
});
App.AdminAdapter = DS.ActiveModelAdapter.extend({
namespace: 'api/admin'
});
App.AdminStore = DS.Store.create({
adapter: App.AdminAdapter
});
我现在如何访问路线中的AdminStore
?
我看了DS.Store documentation page,但是我并不清楚。当我弄清楚每个应用程序如何使用多个商店时,我将很乐意向文档提交拉取请求。
我知道有一个SO question with same title,但答案并没有帮助我。
答案 0 :(得分:0)
正如评论中提到的pixelhandler,我可以使用Per Type Adapter
。我在TRANSITION
here的ember-data
文档中找到了相关文档。
我最终做的只是为具有不同命名空间的类型指定适配器,如此
App.AdminModelAdapter = DS.ActiveModelAdapter.extend({
namespace: 'api/admin'
});
App.AdminModel = DS.Model.extend({
slug: DS.attr('string')
});