2013-05-20 24 views
0

以外的部分不工作在这里我有一个要求使用收益的部分比application.html.erb,当我尝试这在部分它显示我的空白值,如果我尝试了application.html.erb中的yield,它显示了值。收益是不工作的除了application.html.erb

application.html.erb

body> 
<div id="main-container"> 
    <%= content_for?(:page_header) ? yield(:page_header) : (render :partial => "/shared/home_header") %> 
    <div id="middle-container"> 
    <%= yield %> 
    </div> 
    <div id="bottom-container"> 
    <%= render "/shared/bottom_partial" %> 
    </div> 

index.html.erb

<% content_for :page_header do %> 
    <%= render :partial => "/shared/employer_header" %> 
<% end %> 
<% content_for :page_name do %> 
    <p>My Account</p> 
<% end %> 
<div> 
    xxxxxxxxxxxxxx 
    xxxxxxxxxxxxxx 
</div> 

/shared/_employer_header.html.erb

<div class="heading" > 
    <%= yield(:page_name) %> 
</div> 

当我像上面的尝试我越来越如果我在application.html.erb中尝试yield:page name,yield中的空白值:page_name在雇主头文件中。我得到了值。可以帮助我解决这个问题.Thank'U'。

回答

2

交换两个content_fors的顺序,以便:在部分渲染之前定义page_name。

index.html.erb

<% content_for :page_name do %> 
    <p>My Account</p> 
<% end %> 
<% content_for :page_header do %> 
    <%= render :partial => "/shared/employer_header" %> 
<% end %>