Child route not rendering


#1

So I’m throwing out a lifeline because I’m totally stumped here.

I have a signup route, with a set of child routes for each step:

signup
signup.credentials
signup.plans
signup.payment
signup.done

Each route just renders into the {{outlet}} of the signup route. Nothing unusual.

Calling transitionToRoute() from my controllers works for every route and step just fine.

However, when I go from signup.payment to signup.done, everything goes wonky.

The URL properly updates to signup/done, but my ember-inspector’s view tab still shows it as being on signup.payment and the done template doesnt render at all. Mind you, I’m not doing anything different than any other route.

I thought maybe its not fully transitioning and turned on every logging I know:

ENV.APP.LOG_RESOLVER = true;
ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
ENV.APP.LOG_VIEW_LOOKUPS = true;

Heres the output when I try to transition from signup.payment to signup.done:

Attempting transition to signup.done
Preparing to transition from 'signup.payment' to ' signup.done'
Transition #4: signup.done: calling beforeModel hook
Transition #4: signup.done: calling deserialize hook
Transition #4: signup.done: calling afterModel hook
Transition #4: Resolved all models on destination route; finalizing transition.
[ ] view:signup/done ........................................... app/pods/signup/done/view
[ ] view:signup/done ........................................... undefined
[ ] view:signup/done ........................................... app/views/signup/done
[ ] view:signup/done ........................................... app/pods/signup/done/view
[ ] view:signup/done ........................................... undefined
[ ] view:signup/done ........................................... app/views/signup/done
[ ] view:signup/done ........................................... undefined
[ ] view:signup/done ........................................... app/pods/signup/done/view
[ ] view:signup/done ........................................... undefined
[ ] view:signup/done ........................................... app/views/signup/done
[ ] view:signup/done ........................................... app/pods/signup/done/view
[ ] view:signup/done ........................................... undefined
[ ] view:signup/done ........................................... app/views/signup/done
[ ] view:signup/done ........................................... undefined
[✓] template:signup/done ....................................... app/pods/signup/done/template
[✓] template:signup/done ....................................... app/pods/signup/done/template
[✓] template:signup/done ....................................... app/pods/signup/done/template
Transitioned into 'signup.done'
Transition #4: TRANSITION COMPLETE.

I have no clue what could be causing this. Ember claims to think that I fully transitioned, but how come Ember-inspector doesnt, and where the heck is my template?

I created a gist with the full debug output going from down the routes in order.

If you have any advice on how to debug something like this I’d be totally grateful!


#2

For the good of the order, I’ll share the solution.

I had to “brute force” my way through debugging and I just commented out everything and started turning things on one by one.

Turns out that I had a very simple helper in my template that wasnt handling an undefined value.

This made things incredibly difficult because it never threw an error. I’ll submit an issue with the main repo.


#3

Sadness. I couldnt recreate the issue with either a jsbin or as a small ember-cli app. Sucks for me.