Я пытаюсь получить данные JSON с сервера REST, построенного с помощью Node.js и Express, а затем использовать его в качестве модели в моем Ember # Route.Ember Data breaks при извлечении JSON с сервера REST Node + Express
Данные, которые я пытаюсь принести:
var books = [
{ id: 98, author: 'Stanisław Lem', title: 'Solaris' },
{ id: 99, author: 'Andrzej Sapkowski', title: 'Wiedźmin' }
];
Типового я использую:
App.Book = DS.Model.extend({
id: DS.attr('number'),
author: DS.attr('string'),
title: DS.attr('string')
});
я создал RESTAdapter таким образом:
App.ApplicationAdapter = DS.RESTAdapter.extend({
host: 'http://localhost:8080'
});
Mapping:
App.Router.map(function() {
this.resource("books");
});
Мой маршрут выглядит следующим образом:
App.BooksRoute = Ember.Route.extend({
model: function() {
return this.store.find('book');
}
});
Я знаю, что уголек-данных следует определенной конвенции, когда речь идет о JSON файлов. Мой сервер предоставляет JSONs таким образом:
app.get('/books', function (request, response) {
console.log('In GET function ');
response.json({'books': books})
});
Тогда, после ввода
http://localhost:8080/books
Я получаю
{"books":[{"id":98,"author":"Stanisław Lem","title":"Solaris"},{"id":99,"author":"Andrzej Sapkowski","title":"Wiedźmin"}]}
, но когда я вхожу
http://localhost:8080/#/books
уголек-данных проливает длинный список ошибок t шляпа начинается с:
"Error while processing route: books" "invalid 'in' operand record._attributes"
"[email protected]://localhost:8080/static/ember-data.js:8176:1
ember$data$lib$system$model$attributes$$attr/<@http://localhost:8080/static/ember-data.js:8202:26
[email protected]://localhost:8080/static/ember.prod.js:11882:15
[email protected]://localhost:8080/static/ember.prod.js:11842:9
makeCtor/[email protected]://localhost:8080/static/ember.prod.js:33887:17
...
и теперь я не знаю, что не так и как исправить это.