Sono abbastanza nuovo per ember.js e sto facendo alcuni esperimenti. Recentemente ho colpito un muro quando ho provato a cancellare i record. Ecco il mio percorso di modifica (da cui io chiamo eliminare)durante l'eliminazione del record, la transizione a un'altra rotta non riesce
App.PostsEditRoute = Ember.Route.extend({
model: function(params){
return App.Post.find(params.id);
},
exit: function() {
this._super();
tx = this.get('currentModel.transaction');
if(tx)
tx.rollback();
},
setupController: function(controller, model){
controller.set('content', model);
},
events: {
save: function(post){
post.one('didUpdate', this, function(){
this.transitionTo('posts.show', post);
});
post.get('transaction').commit();
},
cancel: function(){
this.transitionTo('posts.show', post);
},
destroyPost: function(context) {
var post = context.get('content');
post.deleteRecord();
post.get('store').commit();
this.transitionTo('posts.index');
}
}
});
Così ho un link attraverso il quale ho innescare destroyPost. Il record è stato eliminato con successo e inizio a passare alla route dell'indice, ma si verifica un errore ...
Errore non rilevato: tentato di gestire l'evento rollback
mentre si trovava nello stato rootState.deleted.inFlight. Chiamato con un numero indefinito
Dopo questo, il caricamento dei modelli per la pagina indice si interrompe e viene visualizzata una pagina vuota. Posso fornire qualsiasi codice aggiuntivo richiesto. Ecco la rotta dell'indice.
App.PostsIndexRoute = Em.Route.extend({
model: function(){
return App.Post.find();
},
setupController: function(controller, model){
controller.set('content', model);
}
});
devo notare che entrambi questi percorsi carico correttamente da soli. È solo in transizione che ho fallito.
Questo ha funzionato. Ho estratto il codice da un'altra parte; Sto solo cercando di imparare a questo punto. Dovrebbe aver letto meglio i documenti, però. Grazie per avermi indicato nella giusta direzione. – sentinel21