2013-03-05 38 views
0

有什麼方法可以使用find方法來請求這樣的URL?Ember數據 - 按ID查找並使用過濾器

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

現在,如果我用Model.find({id: 1, foo: 'bar'}),它會自動使用findQuery和請求的URL是api/models/?id=1&foo=bar,這引發了後端不同的方法。

另一種選擇是在後端路由上解決這個問題,但是我想知道它是否可以在Ember內實現。

+0

這個應用程序的服務器後端是什麼? rails/django? – 2013-03-05 11:45:16

+0

我正在使用Yii框架(PHP),但真正的問題是如果它可以在前端級別解決。 – 2013-03-05 11:53:46

+0

只看源代碼,它會出現,因爲你只得到1或其他(id查找或query_string查找)不支持開箱即用。如果問題還沒有存在,那麼在github網站上可能需要提出類似這樣的請求 – 2013-03-05 12:38:21

回答

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); 
    } 
});