我在使用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()
PostsRouter
routes:
"posts" : "index"
"posts/:id" : "show"
"*path" : "index"
配置/ routes.rb中
root to: "home#index"
答案 0 :(得分:0)
您必须配置服务器以将所有内容路由到您的应用程序(最可能是index.html)。我想这可能会丢失。说即使你关闭了Backbone应用程序,你在服务器端的配置应该是localhost:3000 / posts登陆主页