Ruby on rails 在Backbone.js中组织嵌套模板
目前正在将Rails 3.2+应用程序转换为使用Backbone.js管理其前端。转换前,应用程序在application.html.erb中呈现了多个布局部分。要可视化,请使用其左列和页脚进行思考,所有导航都发生在中心内容区域。重点是,左/右列、页脚和页眉中的内容不是静态的 下面是我所想的application.jst.eco的样子。如果每个注释行都是一个位置,则可以呈现另一个模板Ruby on rails 在Backbone.js中组织嵌套模板,ruby-on-rails,templates,backbone.js,Ruby On Rails,Templates,Backbone.js,目前正在将Rails 3.2+应用程序转换为使用Backbone.js管理其前端。转换前,应用程序在application.html.erb中呈现了多个布局部分。要可视化,请使用其左列和页脚进行思考,所有导航都发生在中心内容区域。重点是,左/右列、页脚和页眉中的内容不是静态的 下面是我所想的application.jst.eco的样子。如果每个注释行都是一个位置,则可以呈现另一个模板 <!-- layouts/header --> <div class="row-fluid"
<!-- layouts/header -->
<div class="row-fluid">
<div id="left-column" class="span3">
<!-- layouts/left_column -->
</div>
<div class="span6">
<section id="content">
<header>
<!-- notices -->
</header>
<!-- main content -->
</section>
</div>
<div id="right-column"class="span3">
<!-- layouts/right_column -->
</div>
</div>
<!-- layouts/footer -->
我应该如何组织主干中的模板来复制application.html.erb结构?我想的方向对吗
此外,我对主干应用程序的入口点感到困惑。由于我仍将在application.html.erb中调用
,并通过erb视图预加载主页数据,如果在主干模板中定义了更大的布局,这一切将如何结合起来呢?有多种方法可以做到这一点,但作为一个示例,我就是这样做的
首先,您实际上根本不必使用rails部分,除非需要考虑对非javascript浏览器的支持。backbone.js应用程序的典型流程是:
,
等,但带有实际内容的占位符。例如,在我的应用程序中,我有导航栏的占位符和主要内容的占位符app
)创建一个路由器,您可以从路由器的initialize
方法或从您所在页面的路由处理程序创建视图,并将视图呈现到页面上的占位符中。在我的例子中,由于导航栏从未被调出,我在路由器的initialize
方法中呈现它,然后在路由处理程序中呈现实际页面。(有关如何在页面上实际呈现视图的一些重要提示,请阅读。)主干网.history.start
),从此主干网接管希望对你有所帮助,可以提供更多的细节,只是问一些具体的问题。p、 我使用它来呈现复合视图,以确保它们在交换时正确地从DOM中移除和解除绑定,以避免内存泄漏等。哈哈,这是一个合法的单页应用程序。如果您的目标是不呈现任何超出您绝对必须呈现的服务器端模板,则不打算使用rails部分,这似乎是一种倒退。不过听起来方向不错,谢谢。感谢你链接了这个gem,我们已经在计划如何手动完成这项工作了。是的,如果你使用pushState,那么我实际上认为为你实际路由到的任何页面(可能只是所有视图的一个子集)呈现服务器端视图以支持非js请求不是一个坏主意。我这样做只是为了获取请求。我在回答另一个问题时提到了这个问题: