Проблема в том, что Ember создает URL на основе моделей для каждого маршрута. Когда он пытается построить маршрут ниже активного/всего маршрута, он использует ваш массив элементов (у которого нет поле, называемого фильтром), поэтому он не знает, как определить, есть ли в настоящее время все/фильтр модель. Хорошей практикой является то, чтобы ваш слизняк (значение в пути) соответствовала свойству на модели.
Если он не соответствует, вы можете переопределить метод Serialize в маршруте, поэтому Ember знает, как сериализовать вашу модель для 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'};
}
});