2015-03-21 3 views
1

У меня возникла проблема с функцией queryFixtures в Emberjs-Data. У меня есть следующий код, чтобы определить магазин:Запрос адаптера адаптера EmberjsСветильник не работает

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

Функция вернется не определена, есть ли другой способ, которым я должен вызывать функцию queryFixtures?

Заранее спасибо.

ответ

1

Я смог найти решение. Установите адаптер хранилища обратно в DS.FixtureAdapter.

adapter: 'DS.FixtureAdapter' 

Реализация функции queryFixtures в Тлеющей-данных JS-файла, как показано ниже:

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

После как эти шаги были сделаны, я был в состоянии запросить прибор, как показано выше, без проблем. Надеюсь, это поможет любому, кто испытывает ту же проблему.

Смежные вопросы