Моя цель: эмулировать вложенный маршрут, но отображать его в выходе приложения.
Например:
/videos – основной маршрут
/videos/video001 — вложенный маршрут
/videos/video001/slide001 — не вложенные. Он находится на том же уровне, что и /videos.
Как я это делаю:
У меня есть следующий маршрутизатор:
App.Router.map(function () {
this.resource('videos', { path: '/videos' }, function () {
this.resource('video', { path: '/:video_id' });
});
this.resource('slide', { path: '/videos/:video_id/:slide_id' });
});
Чтобы маршрут «слайд» работал должным образом, я переопределяю метод «сериализации» и возвращаю «video_id» и «slide_id»
И в этот момент все вроде нормально. По крайней мере, страница загружается, как ожидалось.
В чем проблема?
Когда я перехожу к "/videos/video001" из "/videos/video001/slide001" через помощник "link-to", я вижу следующую ошибку: "Ошибка при обработке маршрута: видео". И ничего больше. Я не могу понять какая ошибка возникает и почему ember не может правильно обработать маршрут.Однако я вижу, что URL-адрес был изменен на «/videos/video001».
Какие-либо предложения? Как отладить эту ситуацию или хотя бы получить полезное сообщение об ошибке?
ОБНОВЛЕНИЕ В этой статье описывается точная текущая ситуация и предлагаются некоторые решения: http://hashrocket.com/blog/posts/ember-routing-the-when-and-why-of-вложение
error while processing route
, у него должен быть стек, который может помочь вам указать, где ошибка. Вопрос: Почемуslide
не является ресурсомvideos.video
? - person MilkyWayJoe   schedule 22.10.2014