我正在使用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
?
答案 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'
});
因为那是我用于模型的适配器。我猜它不理想,但它确实有用。