Я хочу следующую структуру: ember.js - Смешать маршруты ресурсов с простыми маршрутами для нестандартного вложенного расположения
Так что, когда на /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», когда в/но нажатие на каждую ссылку курса пытается отобразить шаблон курса в виде выходного файла в шаблоне allcourses, а не в шаблоне курсов, что и я хочу.
Yeh, я хотел пробивать обычный маршрут маршрута с шаблоном allcourses, но затем снова возвращаюсь к шаблону обычных курсов на пути/курсах /: id. Не похоже, что это возможно без определения нового URL-адреса для «allcourses». – cjroebuck
. Я разорван между высказыванием определенных маршрутов или черной магией ui, на основе которого вы находитесь. (Например, комментарий в ответе edpaez) – Kingpin2k