Ich versuche, eine einzelne Seite App mit Rails 3.2 und Backbone.js mit Push-Option zu machen, aber mit etwas konfrontiert, das ich nicht verstehe.Wie behandelt man Nicht-Root-URLs in einer Einseiten-App?
Wenn ich die Root-URL der App (/) lade, geht alles recht: Rails gibt ein HTML-Layout mit JS zurück, welches Backbone bootstrappt, was einige XHRs für JSON-Entities macht und den Inhalt rendert.
Aber wenn ich mit App von Nicht-Root-URL starten (zB durch manuell in der Browser-Adressleiste eingeben), dann wird Rails versuchen, diese Anforderung mit ihren Routing-Regeln von routes.rb zu behandeln - das ist falsch, Ursache Es ist eine "Backbone" Route. Wie lade ich die Seite und den Bootstrap-Backbone für die Handhabung dieser URL in diesem Fall?
Gut gemacht Mann! Dies sollte 1000 Mal aktualisiert werden. – wuliwong
Funktioniert perfekt für mich! – jordancooperman
Ich fand auch, dass [großartige Artikel von artsy] (http://artsy.github.com/blog/2012/06/25/replacing-hashbang-routes-with-pushstate/) beschreibt, wie man einen globalen Link erstellt Handler mit Backbone pushState, um Seitenauffrischungen zu vermeiden, was meiner Meinung nach sehr viel mit dieser Antwort zusammenhängt und einigen Leuten helfen könnte. – jordancooperman