This is because default setupController
hook, which is invoked for ActivityRoute
sets the model only for the ActivityController
.
I believe by overriding setupController
hook you will be able to achieve required behavior:
setupController: function(controller, model) {
this.controllerFor(model.get("controller") || "activity").set('model', model);
}
I'm not 100% sure if it will work, the controllers must be instantiated somewhere in order to be provided by model. But I guess you have already taken care about that.