2

在我的 store.js.coffee 中,我正在为我的 API 设置命名空间:

DS.RESTAdapter.reopen
  namespace: "api/v1"

这是我想用于我的 ember-data API 调用 Rails Active Model Serializers 的基本命名空间。

但在某些 API 调用中,我希望我的模型与 namespace 中的端点同步api/v1/admin

如何在 Ember 中执行此操作(将应用程序默认设置为api/v1)?

4

2 回答 2

2

您可以在 ember 中为每种类型设置适配器。因此,为“/admin”创建另一个适配器,将该适配器上的命名空间设置为“api/v1/admin”,然后设置适当的类型以改为使用该适配器:

App.AdminAsset = DS.Model.extend({
   ....
});

App.adminAdapter = DS.Adapter.create({
    url: "api/v1/admin"
});


App.Store.registerAdapter(App.AdminAsset, App.adminAdapter);
于 2013-06-12T20:26:30.540 回答
1

这里之前的答案实际上不再有效(从 Ember Data 1.0.beta.1 开始)。

根据changelog,您现在使用 ModelNameAdapter 语法。例如,

App.AdminAsset = DS.Model.extend({
    ...
});

App.AdminAdapter = DS.Adapter.create({
    url: 'api/v1/admin'
    ...
});

App.AdminAssetAdapter = App.AdminAdapter;
于 2014-05-29T18:30:52.037 回答