Ember.js:如何将模型同步到默认的不同命名空间

时间:2013-06-11 22:41:18

标签: ember.js ember-data active-model-serializers

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

你可以set adapters per type in 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);

答案 1 :(得分: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;