我已经阅读了关于此的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
答案 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。*),您无需指定商店。
只需指定适配器即可。