Ember js ищет вложенные маршруты

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

Вот мой пример кода

Продукты и поиск возвращают json

Маршрутизатор

Market.Router.map ->
    @resource 'products'
    @resource 'search', { path: "products/search" }
    @resource 'product', { path: "products/:product_id" }

URL-адрес API-интерфейса остального адаптера, который я пытаюсь достичь, выглядит следующим образом:

http://api.url:3000/v1/products/search?search_terms="веревка"

У меня есть действие внутри контроллера меню заголовка для поиска

Как найти записи внутри вложенного маршрута?

Market.HeaderMenuController = Ember.ArrayController.extend({
    searchText: null,
    actions: {
        searchResults: function(){
             this.store.find('product', 'search?search_terms='+this.searchText);
             this.store.find('search', { "search_terms":this.searchText });
        }
    }
});

Я получаю следующие ошибки -

Ошибка: утверждение не выполнено: вы должны включить id для Market.Product в объект, переданный push

Uncaught Error: Assertion Failed: Error: Assertion Failed: вы должны включить id для Market.Product в объект, переданный push


person abFx    schedule 23.10.2014    source источник


Ответы (2)


Ошибка, которую вы видите, вызвана тем, что JSON возвращается из вашего метода this.store.find. Ember-data ожидает, что все объекты модели будут иметь указанное свойство id. Если вы проверите JSON, возвращаемый вашей конечной точкой API, вы, вероятно, обнаружите, что в объекте нет свойства id.

Убедитесь, что в возвращаемом вами JSON определено свойство id (для каждого объекта «продукт»), и ошибка должна быть устранена.

person awgreenarrow08    schedule 24.10.2014