المشكلة هي أن Ember يبني عنوان URL استنادًا إلى النماذج لكل مسار. عندما تحاول بناء المسار أسفل المسار النشط/كله ، فإنه يستخدم مجموعة العناصر الخاصة بك (الذي لا يحتوي على حقل عليه يسمى المرشح) حتى لا يعرف كيفية تحديد ما إذا كان لديه حاليًا/مرشح نموذج. الممارسة الجيدة هي أن يكون لديك Slug (القيمة: في المسار) مطابقة الخاصية على النموذج.
إذا لم يتطابق مع ذلك ، فيمكنك تجاوز طريقة تسلسل في الطريق ، لذلك يعرف 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'};
}
});