Backbone只识别以Hashtags开头的路由

时间:2013-10-23 05:32:20

标签: javascript ruby-on-rails backbone.js url-routing

我在使用Backbone和Rails时,我遇到了一个问题,即路由器识别并接受带有主题标签的路由(例如localhost:3000/#posts)并立即将URL更改为非主题标签表格(例如localhost:3000/posts)。但是,如果我尝试直接访问URL的非主题标签形式,rails将引发错误。 Pushstate已开启。

这里有什么问题?任何帮助将不胜感激。

blog.js.coffee

window.Blog =
  Models: {}
  Collections: {}
  Views: {}
  Routers: {}
  initialize: ->
    view = new Blog.Routers.Posts()
    Backbone.history.start({pushState: true, root:'/'})


$(document).ready ->
  Blog.initialize()

PostsRou​​ter

routes:
  "posts" : "index"
  "posts/:id" : "show"
  "*path" : "index"

配置/ routes.rb中

root to: "home#index"

1 个答案:

答案 0 :(得分:0)

您必须配置服务器以将所有内容路由到您的应用程序(最可能是index.html)。我想这可能会丢失。说即使你关闭了Backbone应用程序,你在服务器端的配置应该是localhost:3000 / posts登陆主页