有没有办法使用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中实现。
有没有办法使用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中实现。
我同意你应该能够提供这样的东西:
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);
}
});