Emberjs / Ember-Data:使用多个REST服务器(主机)?

时间:2014-02-17 19:16:34

标签: rest ember.js

我对emberjs很新,但到目前为止还很喜欢它。

我已经使用ember-data连接并与REST API进行通信 App.ApplicationAdapter = DS.RESTAdapter.extend({ host: '...' });

到目前为止一切顺利。但是,当我需要在同一个应用程序的过程中与多个主机通信时,会发生什么?

我猜我可以创建第二个适配器和第二个商店,然后指定每个商店使用哪个适配器?这是首选的方法,还是有不同的清洁方法来解决这个问题?

你能提供一个例子:

  • 使用指定的适配器初始化自定义商店
  • 对该特定指定商店进行store.find调用吗?

提前感谢您的时间。

2 个答案:

答案 0 :(得分:3)

你不会使用不同的商店,你只需要使用不同类型的不同主机。

App.ApplicationAdapter = DS.RestAdapter.extend({ host: 'foo'});

App.ColorsAdapter = DS.RestAdapter.extend({ host: 'bar'});

或者如果你在一个主机上有过多的话,而在另一个主机上有过多的话。

App.FooAdapters = DS.RestAdapter.extend({ host: 'foo'});

App.ColorsAdapter = App.FooAdapters.extend();

答案 1 :(得分:2)

如果您需要基于每个模型访问单独的主机,则可以指定每个型号的适配器:

App.Post = DS.Model.extend({
  // ...
});

App.PostAdapter = DS.RESTAdapter.extend({
  // ...
});

当您使用App.PostAdapter时,Ember会自动使用App.Post

Reference