Jestem dość nowym użytkownikiem ember.js i robię kilka eksperymentów. Niedawno uderzyłem trochę o ścianę, próbując usunąć rekordy. Oto moja edycja trasy (z której nazywam usuwanie)podczas usuwania rekordu, przejście na inną trasę kończy się niepowodzeniem.
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');
}
}
});
Mam więc link, przez który uruchamiam destroyPost. Rekord został pomyślnie usunięty, a ja zaczynam przechodzić do trasy indeksu, ale wystąpił błąd ...
Błąd niezamierzony: próba obsłużenia zdarzenia rollback
w stanie rootState.deleted.inFlight. Wywoływany z niezdefiniowanym
Po tym ładowanie modeli dla strony indeksu zatrzymuje się i otrzymuję pustą stronę. Mogę dostarczyć dowolny dodatkowy kod wymagany. Oto trasa indeksu.
App.PostsIndexRoute = Em.Route.extend({
model: function(){
return App.Post.find();
},
setupController: function(controller, model){
controller.set('content', model);
}
});
Należy zauważyć, że obie te trasy ładują się poprawnie same. Dopiero w okresie przejściowym otrzymuję błąd.
To działało. Wyciągnąłem kod z innego miejsca; Po prostu próbuję się uczyć w tym momencie. Powinienem jednak przeczytać lepiej dokumenty. Dzięki za wskazanie mi właściwego kierunku. – sentinel21