I'd like an Ember path /clinic/1
to automatically redirect to show the first doctor: /clinic/1/doctor/1
.
Each clinic has many doctors.
Unfortunately if I use this code:
var doctor = clinicController.get('content.doctors.firstObject');
router.transitionTo('clinic.doctor.index', doctor);
... it does not work, as content.doctors.length
is still 0
when this code runs in app_router.js
.
Any ideas?
You should be able to do this:
App.DoctorsRoute = Ember.Route.extend({
model: function() {
return App.Doctor.find();
},
redirect: function() {
var doctor = this.modelFor('doctors').get('firstObject');
this.transitionToRoute('doctor', doctor);
}
});
This will work because:
redirect
hook transitions to another route, the rest of the hooks won't run.Note that as of 2426cb9, you can leave off the implicit .index
when transitioning.