Ember.js 如何为Ember模型设置API url

Ember.js 如何为Ember模型设置API url,ember.js,ember-model,Ember.js,Ember Model,我使用的是Ember模型,我想为我的所有模型设置一个URL前缀,而不是像这样在每个模型上预先设置它们: App.MyModel = Ember.Model.extend({ id: attr(), myAttr: attr() }); App.MyModel.reopenClass({ url: ajaxUrl + '/some/obscure/path' }); 我知道我可能会覆盖Ember.Model,使url默认为ajaxUrl,但如果我想将其设置为默认值以外的值,如上面的

我使用的是Ember模型,我想为我的所有模型设置一个URL前缀,而不是像这样在每个模型上预先设置它们:

App.MyModel = Ember.Model.extend({
  id: attr(),
  myAttr: attr()
});

App.MyModel.reopenClass({
  url: ajaxUrl + '/some/obscure/path'
});
我知道我可能会覆盖
Ember.Model
,使
url
默认为
ajaxUrl
,但如果我想将其设置为默认值以外的值,如上面的示例中所示,我必须预先设置它


如果这是不可能的,是否有一种建议的方法来设置默认的
url

我想到的最好的解决方案是扩展
Ember.RESTAdapter
本身

Ember.RESTAdapter = Ember.RESTAdapter.extend({
  ajaxSettings: function(url, method) {
    return {
      url: ajaxUrl + url,
      type: method
    };
  }
});

App.MyModel = Ember.Model.extend({
  id: attr(),
  myAttr: attr()
});

App.MyModel.reopenClass({
  adapter: Ember.RESTAdapter.create(),
  url: '/some/obscure/path'
});
因为这是我用于模型的适配器。我想这不太理想,但效果不错