#ember.js
#ember.js
Вопрос:
Я уже целый день ищу ответ на свою проблему и не могу ее решить. Я видел здесь несколько связанных тем, но ни одна из них не решила мою проблему.
Я не могу заставить DS.RestAdapter работать в моем приложении ember. Я получаю следующий журнал в своей консоли
Attempting URL transition to / ember.js:3285
Transition #1: Beginning validation for transition to users ember.js:3285
Transition #1: application: calling beforeModel hook ember.js:3285
Transition #1: application: resolving model ember.js:3285
Transition #1: application: calling afterModel hook ember.js:3285
Transition #1: application: validation succeeded, proceeding ember.js:3285
Transition #1: users: calling beforeModel hook ember.js:3285
Transition #1: users: resolving model ember.js:3285
Ember Debugger Active VM4904:161
XHR finished loading: GET "http://localhost/ember2/api/users". jquery-1.10.2.js:8706
Transition #1: users: transition was aborted ember.js:3285
Transition #1: users: handling error: [object Object] ember.js:3285
Error while loading route: undefined
window.App = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_TRANSITIONS_INTERNAL: true
});
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: "ember2/api"
});
//User model
App.User = DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean')
});
//Router
App.Router.map(function() {
this.resource('users', {path: "/"});
});
App.UsersRoute = Ember.Route.extend({
model: function() {
return this.store.find('user');
}
});
//The json response
{
"users": (I have tried users and user)
{
"id": 1
"title": "Learn Ember.js",
"isCompleted": true
},
{
"id": 2
"title": "Learn Ember.js",
"isCompleted": true
}
}
Если бы кто-нибудь мог подтолкнуть меня в правильном направлении, я был бы признателен!
Примечание: если я использую приспособление, все работает нормально!
Выяснил, что я делал неправильно.
Проблема заключалась в моем плохо отформатированном ответе json. Правильный синтаксис:
{
"user": [
{
"id": 1,
"title": "Learn Ember.js",
"is_completed": true
},
{
"id": 2,
"title": "Learn Ember.js",
"is_completed": true
}
]
}
Ответ №1:
Просто чтобы указать на кого-либо еще, кто попал в вопрос, это было то, что его свойство было объектом, когда оно должно было быть массивом. Технически это также должно быть множественным числом.
Неверно
{
"users": { /// <---- users should be an array
Правильно
{
"users": [
{
"id": 1,
"title": "Learn Ember.js",
"is_completed": true
},
{
"id": 2,
"title": "Learn Ember.js",
"is_completed": true
}
]
}
Другие примеры можно найти здесь: https://github.com/emberjs/data/blob/master/TRANSITION.md