Ruby on rails 在RubyonRails中呈现应用程序范围的视图和特定视图
大家好,我的社区 我想知道如何在RubyonRails上实现应用程序范围和特定于页面的视图 我将所有导航栏、页脚等放在应用程序范围的视图(application.html.erb)中,这样它就可以作为我应用程序上每个视图的基本布局(我认为应用程序范围视图的真正用途) 从我现在看到的情况来看,Rails将应用程序范围视图和主/索引视图的代码都放在运行时。样式表、脚本等的链接没有问题,我很高兴它们被导入到应用程序范围的视图中,节省了时间 如何指定Rails来导入特定视图(例如home/index)的资源和内容 如何以以下方式形成代码 应用程序范围视图(元标记、导航栏、页眉、全局样式表)+页面特定内容(标题、正文)+应用程序范围视图(页脚、javascripts) 我认为最好的方法是将其拆分为页眉、正文和页脚。我应该创建另一个文件,让它作为页脚,并让app.html.erb作为页眉吗Ruby on rails 在RubyonRails中呈现应用程序范围的视图和特定视图,ruby-on-rails,model-view-controller,view,render,Ruby On Rails,Model View Controller,View,Render,大家好,我的社区 我想知道如何在RubyonRails上实现应用程序范围和特定于页面的视图 我将所有导航栏、页脚等放在应用程序范围的视图(application.html.erb)中,这样它就可以作为我应用程序上每个视图的基本布局(我认为应用程序范围视图的真正用途) 从我现在看到的情况来看,Rails将应用程序范围视图和主/索引视图的代码都放在运行时。样式表、脚本等的链接没有问题,我很高兴它们被导入到应用程序范围的视图中,节省了时间 如何指定Rails来导入特定视图(例如home/index)的
谢谢 最常见的方法是在
布局中同时包含页眉和页脚,在页眉和页脚之间生成页面内容
如果您有只想包含在特定页面中的资产,或者需要在布局的其他地方呈现的资产,您可以使用content\u for
和yield
来实现这一点
例如,在页面视图中:
<% content_for :title do %>The title of this page!<% end %>
此页面的标题!
在布局中,您希望在其中输出标题标记:
<title><%= content_for?(:title) ? yield(:title) : "Default page title goes here" %></title>
同样的方法也可以用于只希望包含在特定页面上的Java脚本或样式表
例如,在某些需要jQuery的页面中:
<% content_for :per_page_javascripts do %>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<% end %>
在您的布局中(页眉或页脚,无论您认为JS应该去哪里):
以下是一个可能有帮助的指南:
谢谢。我对MVC概念和RoR一无所知。难怪我不明白yield
的作用。现在,我知道了。非常方便。在我做的最后一个项目中,我来回复制所有代码。这就是为什么在看到ASP.NETMVC是如何工作的之后,我问自己“这在Rails上可以工作吗?”事实确实如此。谢谢很乐意帮忙。祝您的项目一切顺利:0)
<%= yield(:per_page_javascripts) %>