如何为Ember Model设置API网址

时间:2014-09-12 16:10:38

标签: ember.js ember-model

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

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

App.MyModel.reopenClass({
  url: ajaxUrl + '/some/obscure/path'
});

我知道我可以覆盖Ember.Model,以便url默认为ajaxUrl,但如果我想将其设置为默认值以外的其他内容,就像上面的示例一样,我必须先加上它。

如果无法做到这一点,是否建议您设置默认url

1 个答案:

答案 0 :(得分:0)

我提出的最佳解决方案是扩展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'
});

因为那是我用于模型的适配器。我猜它不理想,但它确实有用。