2012-09-03 92 views
0

我想在视图上启动一个骨干应用,该视图已经由Rails呈现。具有自定义默认路由的主干路由器

这里是我的路由器代码

class App.Routers.Dashboard extends Backbone.Router 
routes: 
    '': 'index' 
    'locations/:id': 'showLocation' 

    index: -> 
    alert "Dashboard page" 

    initialize: -> 
    @route(/\/?/, 'index', @index); 

然后渲染视图里面,我开始应用

$ -> 
App.appRouter = new App.Routers.Dashboard() 
Backbone.history.start 
    pushState: true 
    root: "/dashboard" 

不过,如果我打开

http://localhost:3000/dashboard 

路由器确实页面不进入“索引”状态。

我错过了什么吗?

回答

0

缺省路由''只会在URL位于根处时匹配。

在你的例子中,“索引状态”只会被调用,URL为http://localhost:3000/

推荐的方法是使用“splat”路线'*path': 'index'。由于此路线有效地表示要匹配任何内容,因此您需要确保它是最后定义的路线。