在我的项目中,如果我向我的服务器询问ID为1,2,3的记录(如果没有空格):
url?sites=id1 %2C id2 %2C id3
它将返回一个包含此ID记录的json文件。
因此,对于这种情况,我认为如果我设法使用findMany并使RestAdapter以这种方式调用服务器,我就可以进行缓存。
我找到了下一个,但它不起作用,它继续打电话:
GET topologymins/1,2
适配器:
App.ApplicationAdapter = DS.RESTAdapter.extend({
findMany: function(store, type, ids) {
Ember.Logger.log("INSIDE THE findMany"); // NOT SHOWED
var url = type.url;
url = url.fmt(ids.join(','));
jQuery.getJSON(url, function(data) {
// data is an Array of Hashes in the same order as the original
// Array of IDs. If your server returns a root, simply do something
// like:
// store.loadMany(type, ids, data.people)
//store.loadMany(type, ids, data);
});
}
});
App.Topologymin.reopenClass({
url: '/something?ids=%@'
});
我的电话:
this.store.find('topologymin',[1, 2]);
答案 0 :(得分:0)
这不仅仅是因为你错过了回归吗?
哦...对不起你的findMany写得不正确,我没有想到......它错过了回复......但这实际上并没有什么错 - 它甚至没有调用findMany,因为store.find ()不能传递一组id ...你想要这个,我想:store.find('topologymin',{ids:[1,2]});
但是,我认为你还有另外一个问题,即findMany应该有一个返回值...如果你看一下默认实现,你会明白我的意思......它需要返回一个承诺,你没有回来任何东西。