Я работаю над своим первым приложением Ember и заставил его отображать то, что я хотел, с маршрутом, возвращающим статический объект JSON из model()
:
element: {
name: "First Element",
divisions: [{
name: "First Division",
sets: [{name: "Set 1"},{name: "Set 2"},{name: "Set 3"}]
}, {
name: "Second Division",
sets: [{name: "Set 1"},{name: "Set 2"},{name: "Set 3"}]
}]
}
Сейчас я пытаюсь провести рефакторинг для использования Ember Data + Mirage и ужасно провожу время.
Вот мой index.js
маршрут
export default Ember.Route.extend({
model() {
return this.store.find('element', 1);
},
Если я настрою свой Mirage config.js
следующим образом:
this.get('/elements', function() {
return {
elements: [
{
id: 1,
name: 'First Element',
divisions: [1, 2]
}
]
}
});
то я получаю эту ошибку:
Your Ember app tried to GET '/elements/1', but there was no route defined to handle this request.
Если я настрою свой Mirage config.js
следующим образом:
this.get('/elements/1', function() {
return {
id: 1,
name: 'First Element',
divisions: [1, 2]
}
});
то я получаю эту ошибку:
22:46:40.883 "Error while processing route: index" "Assertion Failed: normalizeResponse must return a valid JSON API document:
* One or more of the following keys must be present: "data", "errors", "meta"." "EmberError@http://localhost:4200/assets/vendor.js:25582:15
ИЗМЕНИТЬ:
Так что это не решение проблемы, как указано, но это помогло мне пройти через это. Я отказался от Pretender и снова начал создавать реальный сервер Rails в соответствии с этим превосходным руководством: http://emberigniter.com/modern-bridge-ember-and-rails-5-with-json-api/
Я смог сделать все, что хотел, таким образом, и если я когда-нибудь захочу сделать это приложение для производства, я намного ближе.
divisions: [1, 2]
из config.js и посмотрите, устранит ли это ошибку. - person Daniel Kmak   schedule 28.08.2015