Я пытаюсь найти модель на основе пары, как это:Emberjs + Эмбер-данные найти с парами
this.store.find('slide', {slideCategory: category});
Но возвращение: (Edit полного стека трассировка)
TypeError: Cannot read property 'length' of undefined
at hi.extend.pushMany (ember-data.min.js?551b0279246c3:3)
at Dr.extend.load (ember-data.min.js?551b0279246c3:1)
at ember-data.min.js?551b0279246c3:1
at tryCatch (ember.debug.js?551b0279246c3:46898)
at invokeCallback (ember.debug.js?551b0279246c3:46910)
at publish (ember.debug.js?551b0279246c3:46881)
at ember.debug.js?551b0279246c3:27205
at Queue.invoke (ember.debug.js?551b0279246c3:871)
at Object.Queue.flush (ember.debug.js?551b0279246c3:936)
at Object.DeferredActionQueues.flush (ember.debug.js?551b0279246c3:741)
Я запускаю этот код из действия в моем SlideRoute.
Вот что моя модель Slide выглядит
App.Slide = DS.Model.extend({
title: DS.attr('string'),
note: DS.attr('string'),
slideCategory: DS.belongsTo('slideCategory')
});
И моя модель SlideCategory
App.SlideCategory = DS.Model.extend({
title: DS.attr('string'),
slides: DS.hasMany('slide', {async:true})
});
Это работает с сантехникой и здесь одна запись:
{
id: 1,
slideCategory: 1,
title: 'Slide 1',
note: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eget hendrerit lacus. Donec venenatis sagittis turpis a aliquet. Ut nec ipsum ac sem lobortis ultrices id eu ante. Aenean ut vehicula odio, non imperdiet risus. Aenean mattis diam nec nulla tincidunt, vitae vehicula dui vehicula.',
}
Я с использованием ember 1.11 и ember-data 1.0.0-beta.16
EDIT
Все права, то кажется, что проблема была связана с запрашивая светильников, которые Isnt поддерживаются по умолчанию, Ember-данных.
Скажу, я иду с другим вариантом, чтобы мои слайды и я использую следующий фрагмент кода
this.store.find('slideCategory', category).then(function(slideCategory){
slideCategory.get('slides').then(function(slides){
}
}
я ожидал бы следующий фрагмент кода, чтобы дать мне множество слайдов, на которых я может зацикливаться, но объект кажется другим.
Это то, что я получаю:
Class {
__ember1427894067627: null
__ember_meta__: Object
__nextSuper: undefined
canonicalState: Array[3]
0: Class
1: Class
2: Class
length: 3
__proto__: Array[0]
currentState: Array[3]
isLoaded: true
isPolymorphic: undefined
length: 3
record: Class
relationship: ember$data$lib$system$relationships$state$has$many$$ManyRelationship
store: Class
type: App.Slide
__proto__: Class
Это кажется почти что, но я не знаю, как цикл через этот объект. Кажется, что 3 элемента в каноническом массиве State - мои 3 слайда, которые я ищу. Когда я открываю этот объект класса, я получаю именно то, что будет выглядеть объект слайда.
Извините, если это кажется глупым, но я новичок в ember, и я не мог найти ответа на этот вопрос.
Какая ценность 'категории' на вашем маршруте? – albertjan
В этом случае это 1. Но даже если я переустановил его на {slideCategory: 1} или {id: 'fixture-0'}, это не сработает. Пока добавлен параметр, появляется ошибка. – Mathg16
адаптер адаптера не поддерживает запрос, но это не объясняет вашу ошибку. вы можете вставить весь стек? – albertjan