0

有没有办法使用find方法来请求这样的 URL?

http://awesomedomain.com/api/models/1/?foo=bar

现在,如果我使用Model.find({id: 1, foo: 'bar'}),它会自动使用findQuery并且请求的 URL 是api/models/?id=1&foo=bar,这会在后端触发不同的方法。

另一种选择是在后端路由中解决这个问题,但我想知道它是否可以在Ember中实现。

4

1 回答 1

1

我同意你应该能够提供这样的东西:

Your.Model.find(1,{foo:"bar"})

现在,你唯一能做的就是:

Your.Model.find(1)

然后在您的 RestAdapter 中,手动覆盖 ajax 请求以添加哈希/查询参数:

Your.RESTAdapter = DS.RESTAdapter.extend({
  url: 'http://awesomedomain.com/api/models',
  ajax: function(url, type, hash) {
    hash.url = url;
    hash.type = type;
    hash.dataType = 'json';
    hash.contentType = 'application/json; charset=utf-8';
    hash.context = this;
    hash.data = {foo:"bar"};
    jQuery.ajax(hash);
  }
});
于 2013-03-05T21:37:58.343 回答