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

路由器不进入“索引”状态。

我错过了什么吗?

4

1 回答 1

0

''只有当 URL 位于根目录时,才会匹配默认路由。

在您的示例中,“索引状态”只会使用http://localhost:3000/.

完成此操作的推荐方法是使用“splat”路线'*path': 'index'。因为这条路线实际上说要匹配任何东西,所以您需要确保它是最后定义的路线。

于 2013-02-15T19:43:12.110 回答