如何在ember-model中使用外部网址

卡梅隆·埃利斯(Cameron A.Ellis)

这似乎是一个简单的问题,但是如何在Ember-model中使用外部URL?所有示例仅假设相同的域。我想使用例如养蜂场或火力场。

https://github.com/ebryn/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";
    }
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章