Sto lavorando al mio primo Ember app e ottenuto per visualizzare il modo in cui ho voluto con il percorso che restituisce un oggetto JSON statica da model()
:Errore ritorno promessa da Ember dati
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"}]
}]
}
Ora sto cercando di refactoring usare Ember Data + Mirage e avere un tempo terribile.
Ecco la mia index.js
percorso
export default Ember.Route.extend({
model() {
return this.store.find('element', 1);
},
Se ho impostato il mio Mirage config.js
in questo modo:
this.get('/elements', function() {
return {
elements: [
{
id: 1,
name: 'First Element',
divisions: [1, 2]
}
]
}
});
allora ottengo questo errore:
Your Ember app tried to GET '/elements/1', but there was no route defined to handle this request.
Se ho impostato il mio Mirage config.js
come questo:
this.get('/elements/1', function() {
return {
id: 1,
name: 'First Element',
divisions: [1, 2]
}
});
allora ottengo questo errore:
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"." "[email protected]://localhost:4200/assets/vendor.js:25582:15
EDIT:
Quindi questa non è una soluzione al problema come detto ma mi ha passato questo. Ho rinunciato a Pretender e ho ricominciato a creare un vero server Rails in base a questo eccellente tutorial: http://emberigniter.com/modern-bridge-ember-and-rails-5-with-json-api/
Sono riuscito a fare tutto ciò che volevo in questo modo e se mai volessi fare un'app di produzione, sono un molto più vicino
La risposta API sembra non essere valida per i dati ember. Puoi aggiornare il tuo post con ciò che il tuo server invia? Ember-data si aspetta che i dati siano formattati come descritto qui: http://guides.emberjs.com/v2.0.0/models/connecting-to-an-http-server/ –
Puoi mostrare il tuo router? Probabilmente ti manca una rotta – QuantumLicht
Quello che succede qui è che ho un singolo elemento (in questo momento) che contiene molte divisioni, ognuna delle quali contiene molti set. Quando ho avuto questo lavoro con l'oggetto JSON statico, ho usato {{#each nel mio modello .hbs per elencare ogni divisione, e all'interno di quella divisione ogni set. Quindi il modello per il mio modello è un elemento. – ed94133