El problema es que Ember desarrolla la URL en función de los modelos para cada ruta. Cuando intenta construir la ruta debajo de la ruta activa/todas, utiliza su matriz de elementos (que no tiene un campo llamado filtro), por lo que no sabe cómo determinar si actualmente tiene todo/filtro modelo. Una buena práctica es que su babosa (el valor en la ruta) coincida con la propiedad en el modelo.
Si no coincide, puede anular el método de serializar en la ruta, por lo que Ember sabe cómo serializar su modelo para la URL.
App.CustomersFiltersRoute = Ember.Route.extend({
model: function(params) {
if(params.filter == "active") {
return _.where(App.Customers, {isActive: true});
}
return App.Customers;
},
serialize: function(model){
if(model === App.Customers){
return {filter:'all'};
}
return {filter:'active'};
}
});