这似乎是一个简单的问题,但如何将外部 URL 与 Ember-model 一起使用?所有示例都假设相同的域。我想使用例如养蜂场或火力基地。
最佳答案
您可以将完整的 url 设置为为模型设置的属性,而不是相对 URL。像这样:
App.User = Ember.Model.extend({
id: attr(),
name: attr(),
comments: hasMany("App.Comment", {key: 'comment_ids'})
});
App.User.url = "http://example.com/users";
更新:
如果您不想在多个位置指定主机名,最简单的做法可能是将主机名分配给一个变量,然后在声明 URL 时引用该变量。不过,如果您确实想了解 ember 模型的内部结构,您也可以重写自定义适配器中的 buildURL 方法,如下所示:
App.CustomAdapter = Ember.RESTAdapter.extend({
buildURL: function(klass, id) {
var urlRoot = "http://example.com/" + Ember.get(klass, 'url');
if (!urlRoot) { throw new Error('Ember.RESTAdapter requires a `url` property to be specified'); }
if (!Ember.isEmpty(id)) {
return urlRoot + "/" + id + ".json";
} else {
return urlRoot + ".json";
}
}
});
关于ember.js - 如何在 ember-model 中使用外部 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21491784/