Искам следното оформление:
Така че когато в /courses
показвам всички курсове в шаблон за целия екран, но когато потребител навигира до курс, напр. /courses/2
, след това става вложен изглед със списък с курсове от лявата страна и страницата с подробности за курса в основната област.
Опитах следната настройка, но не мога да я накарам да работи:
this.resource('courses', function() {
this.resource('course', { path: '/:course_id' });
});
this.route('allcourses', {path: '/courses'});
със следните дефиниции на маршрута:
App.AllcoursesRoute = App.Route.extend({
model: function() {
return this.store.find('course');
},
renderTemplate: function() {
this.render('allcourses', {
into: 'application'
})
}
});
App.CoursesRoute = App.Route.extend({
model: function() {
return this.modelFor('allcourses');
},
renderTemplate: function() {
this.render('courses', {
into: 'application'
})
}
});
App.CourseRoute = App.Route.extend({
model: function(params) {
return this.store.find('course', params.course_id);
},
renderTemplate: function() {
this.render('course', {
into: 'courses'
});
}
});
Понастоящем получавам шаблона „allcourses“, когато в /courses обаче щракването върху връзката към всеки курс се опитва да изобрази шаблона на курса в изход в шаблона за всички курсове, а не в шаблона за курсове, което е, което искам да се случи.