Emberjs Fixture 适配器 queryFixture 不工作

Emberjs Fixture adapter queryFixture not working

我在 Emberjs-Data 中实现 queryFixtures 函数时遇到了问题。我有以下代码来定义商店:

App.Store = DS.Store.extend({
revision: 12,
adapter: DS.FixtureAdapter.extend({
    queryFixtures: function(fixtures, query, type) {
        console.log(query);
        console.log(type);
        return fixtures.filter(function(item) {
            for(prop in query) {
                if( item[prop] != query[prop]) {
                    return false;
                }
            }
            return true;
        });
    }
})
});

我的模型看起来像:

FireSurveyApp.User = DS.Model.extend({
  userId: DS.attr('number'),
  username: DS.attr('string'),
  password: DS.attr('string'),
  FirstName: DS.attr('string'),
  LastName: DS.attr('string')
});

当我尝试获取夹具数据时,我正在使用以下代码:

var returnUser = this.store.find("User",{ username : "Ted"});

该函数将 return 未定义,我应该用不同的方式调用 queryFixtures 函数吗?

提前致谢。

我找到了解决办法。将商店适配器设置回 DS.FixtureAdapter。

adapter: 'DS.FixtureAdapter'

在ember-data js文件中实现queryFixtures函数如图:

queryFixtures: function(fixtures, query, type) {
var key = Ember.keys(query)[0];
return fixtures.filterBy(key, query[key]);
},

完成这两个步骤后,我可以毫无问题地查询如上所示的夹具。希望这对遇到同样问题的人有所帮助。