2014-12-30 5 views
1

Я пытаюсь создать страницу настроек для моего приложения Ember-Cli. URL-адрес, который мне нужен, - /settings/:id/ с отдельными маршрутами, такими как /settings/:id/overview и /settings/:id/password.Маршрут с ID в ember-cli

Как создать вложенные маршруты с использованием Ember CLI? Я нашел множество примеров для Ember, но не для CLI.

ответ

4

ОБНОВЛЕНИЕ: Начиная с версии 1.0.5, Ember-CLI исправил проблему, не создав карту маршрутизации правильно. Выполнение приведенных ниже команд должно теперь генерировать правильный код в router.js. Он также добавил параметр path для вложенных маршрутов (а не ресурсов). Вы можете увидеть журнал изменений here. Похоже, что заметки изменений в настоящее время являются единственной документацией по этой функции, но их достаточно легко понять.


Прямо сейчас, нет никакого способа, чтобы полностью сформировать вложенные маршруты или ресурсы с Эмбер-CLI (насколько я могу сказать). Вы можете заставить его генерировать файлы для вас, но вам придется самостоятельно отредактировать router.js. Например, если я бегу следующие строки:

ember generate resource settings 
ember generate route settings/overview 

Вы получите следующее router.js:

Router.map(function() { 
    this.resource('settings', { path: 'settings/:settings_id' }, function() { }); 
    this.route('settings/overview'); 
}); 

Это, вероятно, просто ограничение в том, как Blueprints в настоящее время работает. Идите вперед и создавать свои маршруты, как вы видите выше, а затем просто изменить router.js вручную гнездиться маршрут вызывает вместо того, чтобы сделать их на высший уровень:

Router.map(function() { 
    this.resource('settings', { path: 'settings/:settings_id' }, function() { 
     this.route('overview'); 
    }); 
}); 

Кроме того, если вы хотите создать вложенный маршрут, а не вложенный ресурс, я не уверен, что для этого еще есть план. Я бы просто создал ресурс, а затем вручную изменил его на маршрут.

+0

Это создает маршруты вручную, он спрашивает, как «генерировать» их, используя 'ember-cli' – Asgaroth

+0

Простите, я, должно быть, пропустил слово' generate'. Я сейчас обновлю свой ответ. – GJK

+0

Пятно на, спасибо кучи! – Sam

Смежные вопросы