Yes, you should only use this.render() , but here is the into key.
App.LocationTypeController = Ember.ArrayController.extend({ selectedLocationType: null, locationTypeChanged: function() { var selectedLocationType = this.get('selectedLocationType'); this.send('changeTemplate',selectedLocationType); }.observes('selectedLocationType') });
Take action on your route as
changeTemplate: function(selection) { this.render('template'+selection.id,{into:'locationType'}); }
and {{outlet}} {{outlet}} in your locationType template.
{{view Ember.Select contentBinding="model" selectionBinding="selectedLocationType" optionValuePath="content.id" optionLabelPath="content.name"}} {{outlet}}
JSBin example for your requirement
source share