2012-02-20 17 views
17

Deseo poder especificar una url base para todas mis rutas de desarrollo. Algunos de los desarrolladores tienen máquinas configuradas para trabajar en subdirectorios en lugar de la aplicación sentada en la webroot. Me gustaría definir solo estas rutas una vez. En lugar de: rutas: { "toms-subdirectorio/usuarios": "init_users" } me gusta:Defina una url base en el enrutador Backbone.js

routes: { 
    "/users": "init_users" 
} 

y ser capaz de especificar un baseurl para esa instalación, por lo que fácilmente podría hacerlo trabajar en instalaciones.

En este momento estoy forzándolos al definir un objeto de ruta usando la sintaxis del paréntesis para mantener las claves dinámicas y asignarlas a la propiedad de rutas dentro de la ruta. Me preguntaba si hay una manera más limpia.

my_routes = {}; 
my_routes[window.webroot + '/users'] = 'init_users'; 

MyRoute = Backbone.Router.extend({ routes: my_routes }) 
+0

Entonces, ¿cuál es la pregunta? – GoldenNewby

Respuesta

42

Puede utilizar Backbone.history.start como esto

Backbone.history.start({ 
    pushState: true, 
    root: "/public/search/" 
}); 
+0

eso es lo que estaba buscando. Extraño, pensé que había intentado esto. Gracias. –

Cuestiones relacionadas