2012-08-24 86 views
3

在我的Rails應用中,我有兩個佈局/控制器用於不同的操作。Backbone.js + Rails + IE路由

Eseentially,我匹配根/到網關#指數,與其他幾頁,如/login/register

一次記錄的實際應用都有自己的套網址一起,如/dashboard/dashboard/action/explore等。

由於使用IE的pushstate,url更改爲/#dashboard併爲網關頁面加載佈局/ JS。

我軌控制器,用於根具有下面的代碼,這是導致無限循環在IE

的所有版本
if @current_user 
    redirect_to '/dashboard/lists' 
end 

以下是骨幹歷史初始化(CoffeeScript的):

Backbone.history.start 
    pushState: true 
    root: '/dashboard/' 

即使使用此設置,應用程序也會呈現網關佈局/ JS而不是應用程序,並使錯誤URL保持不變(不會將根設置爲/儀表板)。

如何讓IE加載應用程序佈局/ JS/CSS,同時仍然爲根目錄設置不同的佈局?

回答

3

我將root設置爲無效路由。我結束了以下工作:

Backbone.history.start 
    pushState: true 
    root: '/app/' 

並創建一個路由到使用應用程序模板的控制器。

1

從骨幹網:

REST風格的持久性,歷史支持通過Backbone.Router和DOM操作與Backbone.View,包括json2.js,和jQuery的兩種。

那麼你有包括json2.js