Ember数据:在路线中使用不同的商店

时间:2014-03-14 07:09:56

标签: ember.js ember-data

我的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,但答案并没有帮助我。

1 个答案:

答案 0 :(得分:0)

正如评论中提到的pixelhandler,我可以使用Per Type Adapter。我在TRANSITION hereember-data文档中找到了相关文档。

我最终做的只是为具有不同命名空间的类型指定适配器,如此

App.AdminModelAdapter = DS.ActiveModelAdapter.extend({
  namespace: 'api/admin'
});

App.AdminModel = DS.Model.extend({
  slug: DS.attr('string')
});