Dan*_*iel 8 layout ruby-on-rails
假设我有一个应用程序布局,并在他们的产量为:head内容如下:
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title></title>
<%= stylesheet_link_tag 'scaffold' %>
<%= yield(:head) %>
</head>
Run Code Online (Sandbox Code Playgroud)
假设在相同的应用程序布局中,我调用partial来呈现主菜单.
<body>
<p style="color: green"><%= flash[:notice] %></p>
<!-- Main Menu -->
<%= render :partial => 'menu/menu_main' %>
</body>
Run Code Online (Sandbox Code Playgroud)
有没有办法,从我的_menu_main.erb部分内部添加内容到我的应用程序布局的head部分(比如添加一些css)?
小智 17
您必须使用content_for标记.
<% content_for :head do -%>
*your code here*
<% end -%>
Run Code Online (Sandbox Code Playgroud)
所以,你放在里面的代码将在你的html文件的头部.
这个railscasts剧集更详细地解释了它:http://railscasts.com/episodes/8-layouts-and-content-for
在你的application.html.erb:
<head>
<% if content_for? :for_head %>
<%= yield :for_head %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
在您的"特定"视图中:
<% content_for :for_head do %>
Something-to-put-in-head
<% end %>
Run Code Online (Sandbox Code Playgroud)
:for_head未预定义:命名取决于您自己.它可能是任何东西.
| 归档时间: |
|
| 查看次数: |
4101 次 |
| 最近记录: |