无法使用Ember更改适配器主机

时间:2015-02-21 13:27:23

标签: javascript ember.js

我已经阅读了关于此的Ember文档,我知道我必须使用自定义RESTAdapter并将其设置为App.Store。我做了它并且它更改了命名空间但是,它不适用于主机(它仍然向当前域发出请求)。

App.ApplicationAdapter = DS.RESTAdapter.extend({
  host: 'https://api.example.com',
  namespace: 'kraken'
});

App.Store = DS.Store.extend({
  adapter: App.ApplicationAdapter
});


App.IndexRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('game');
  }
});

正在向当前域请求https://api.example.com

Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:8080/kraken/games

2 个答案:

答案 0 :(得分:2)

工作的例子:

http://emberjs.jsbin.com/zemurayabi/1/edit?js,console,output

App = Ember.Application.create();

App.Router.map(function() {
  // put your routes here
});

App.ApplicationAdapter = DS.RESTAdapter.extend({
  host: 'https://api.example.com',
  namespace: 'kraken'
});

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('game');
  }
});

App.Game = DS.Model.extend({

});

请注意,因为ajax请求无处可去,实际上会出错。但它会尝试正确的非本地网址。

答案 1 :(得分:1)

使用最新的Ember Data(1.0.0-beta。*),您无需指定商店。

只需指定适配器即可。