Программно создавать новые маршруты в Ember

Я использую файл json, извлеченный с сервера, чтобы настроить свой веб-сайт и сообщить каждой странице, каков его заголовок. Файл json выглядит так:

[{"route": "student", "title": "Student Info Page"}, {"route": "payments", "title": "Payments and Pricing"}, {"route": "policy", "title": "Mine"}, {"route": "biography", "title": "About Me"}]

который используется для создания панели навигации с этим кодом:

App.MenuController = Ember.ArrayController.create();
$.get('config.json', function(data) {
    App.MenuController.set('content', data);
});

который затем используется в шаблоне:

{{#each App.MenuController}}
    {{#varLink route this}}{{title}}{{/varLink}}
{{/each}}

Пока все это прекрасно работает.

Итак, вот мой вопрос: я хочу, чтобы отображение маршрута было сделано сApp.Router.map быть сделано программно, используя этот объект json, чтобы определить, какие маршруты должны существовать.

Как же мне это сделать? Я искал документацию, а затем попробовал это:

$.get('config.json', function(data) {
    App.MenuController.set('content', data);
    for (var i = 0; i < data.length; i++) {
        App.Router.map(function(){
            var r = data[i].route;
            console.log(r);
            this.route(r);
        });
    }
});

что дает следующую консольную индикацию:

student app.js:9
payments app.js:9
policy app.js:9
biography app.js:9
Assertion failed: The attempt to linkTo route 'student' failed. The router did not find 'student' in its possible routes: 'index' ember.js:361
Uncaught Error: There is no route named student.index ember.js:23900

Ответы на вопрос(1)

Ваш ответ на вопрос