0

_main_nav.html.erb在视图/布局文件夹中有一个部分调用,这是内容文件:

<% content_for :main_navigation do %>
  <h1>Something must here</h1>
<% end %>

在我的_header.html.erb文件中,我曾经yield插入内容:

... 
<%= yield :main_navigation %>  
<nav id="utility" class="nav-collapse">
...  

但是当我访问主页时,它并没有出现 h1 元素,我有什么地方错了吗?

4

1 回答 1

2

问题是您试图从当前未呈现的视图中生成内容。

你需要做:

_header.html.erb

... 
<%= render "layouts/main_nav" %>
<%= yield :main_navigation %>  
<nav id="utility" class="nav-collapse">
... 

_main_nav.html.erb

<% content_for :main_navigation do %>
  <h1>Something must here</h1>
<% end %>

http://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield

于 2012-10-24T08:01:50.290 回答