Crear nuevas rutas programáticamente en Ember.

Estoy utilizando un archivo json extraído del servidor para configurar mi sitio web y para indicar a cada página cuál es su título. El archivo json se ve así:

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

que se utiliza para crear una barra de navegación con este código:

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

que luego se utiliza en la plantilla:

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

Todo esto funciona muy bien hasta ahora.

Así que aquí está mi pregunta: quiero que el mapa de ruta se haga conApp.Router.map se realizará mediante programación, utilizando este objeto json para determinar qué rutas deben existir.

¿Cómo diablos debo hacer esto? He buscado alrededor de la documentación, y luego probé esto:

$.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);
        });
    }
});

lo que da la siguiente lectura de consola:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta