在我的 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
)?
在我的 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
)?
您可以在 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);
这里之前的答案实际上不再有效(从 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;