FindMany被覆盖不起作用。 Ember公司数据

时间:2014-05-23 14:47:49

标签: javascript ember.js ember-data

在我的项目中,如果我向我的服务器询问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]);

1 个答案:

答案 0 :(得分:0)

这不仅仅是因为你错过了回归吗?

哦...对不起你的findMany写得不正确,我没有想到......它错过了回复......但这实际上并没有什么错 - 它甚至没有调用findMany,因为store.find ()不能传递一组id ...你想要这个,我想:store.find('topologymin',{ids:[1,2]});

但是,我认为你还有另外一个问题,即findMany应该有一个返回值...如果你看一下默认实现,你会明白我的意思......它需要返回一个承诺,你没有回来任何东西。