Ember.Route Class provides an event hook called
redirect which according to the ember docs is as below:
A hook you can implement to optionally redirect to another route. If you call
this.transitionTofrom inside of this hook, this route will not be entered in favor of the other hook.
afterModelbehave very similarly and are called almost at the same time, but they have an important distinction in the case that, from one of these hooks, a redirect into a child route of this route occurs: redirects from
afterModelessentially invalidate the current attempt to enter this route, and will result in this route's
afterModelhooks being fired again within the new, redirecting transition. Redirects that occur within the
redirecthook, on the other hand, will not cause these hooks to be fired again the second time around; in other words, by the time the
redirecthook has been called, both the resolved model and attempted entry into this route are considered to be fully validated.
So, how do we make use of this now? Yes! Straight-forward isn't it? Below is the code gist to making it work and here is a working ember twiddle: