2012-08-24 70 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