2012-09-03 133 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'。由於此路線有效地表示要匹配任何內容,因此您需要確保它是最後定義的路線。