Le problème est qu'Ember construit l'URL en fonction des modèles pour chaque itinéraire. Lorsqu'il essaie de construire l'itinéraire sous l'itinéraire actif / tout, il utilise votre tableau d'articles (qui n'a pas de champ appelé filtre) afin qu'il ne sache pas comment déterminer s'il a actuellement le tout / filtre maquette. Une bonne pratique consiste à faire correspondre votre limace (la valeur dans le chemin) sur la propriété sur le modèle.
S'il ne correspond pas, vous pouvez remplacer la méthode de sérialisation dans l'itinéraire, alors Ember sait comment sérialiser votre modèle pour l'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'};
}
});