I have the following router:
Router.map(function() {
this.resource('cart', function() {
// order routes
this.route('shipping');
this.route('checkout');
this.route('payment');
this.route('thanks');
});
});
When I am at the thanks route I want to unset a custom comment property in checkout. This is because the next time the customer visit checkout route the comment is displayed again.
So in thanks, I do the following: this.set('controllers.cart.checkout.commentCustomer', "");
But I get this error:
Uncaught Error: Property set failed: object in path "controllers.cart.checkout" could not be found or was destroyed.
What does that means?
You are in luck, because since 1.7.0 Ember has the absolutely wonderful resetController hook in routes. It's exactly for this type of situation.
App.CartCheckoutRoute = Ember.Route.extend({
resetController: function(controller, isExiting, transition) {
controller.set('commentCustomer', '');
}
});