Ember.js 如何为Ember模型设置API url
我使用的是Ember模型,我想为我的所有模型设置一个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,但如果我想将其设置为默认值以外的值,如上面的
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'
});
因为这是我用于模型的适配器。我想这不太理想,但效果不错