Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在RubyonRails中呈现应用程序范围的视图和特定视图_Ruby On Rails_Model View Controller_View_Render - Fatal编程技术网

Ruby on rails 在RubyonRails中呈现应用程序范围的视图和特定视图

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)的

大家好,我的社区

我想知道如何在RubyonRails上实现应用程序范围和特定于页面的视图

我将所有导航栏、页脚等放在应用程序范围的视图(application.html.erb)中,这样它就可以作为我应用程序上每个视图的基本布局(我认为应用程序范围视图的真正用途)

从我现在看到的情况来看,Rails将应用程序范围视图和主/索引视图的代码都放在运行时。样式表、脚本等的链接没有问题,我很高兴它们被导入到应用程序范围的视图中,节省了时间

如何指定Rails来导入特定视图(例如home/index)的资源和内容

如何以以下方式形成代码

应用程序范围视图(元标记、导航栏、页眉、全局样式表)+页面特定内容(标题、正文)+应用程序范围视图(页脚、javascripts)

我认为最好的方法是将其拆分为页眉、正文和页脚。我应该创建另一个文件,让它作为页脚,并让app.html.erb作为页眉吗


谢谢

最常见的方法是在
布局中同时包含页眉和页脚,在页眉和页脚之间生成页面内容

如果您有只想包含在特定页面中的资产,或者需要在布局的其他地方呈现的资产,您可以使用
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) %>