在我的一个观点中,我将布局应用于代码块:
# In app/views/sessions/new.html.erb
<% render :layout => 'home/shadow_box' do %>
#... code for sign in form here
<% end %>
布局是一个 div,所有四个边都有 png 阴影。
由于我在整个站点中都使用此布局,因此我想将一个变量传递给指定阴影 div 宽度的布局。我尝试在代码块中使用内容:
# In app/views/sessions/new.html.erb
<% render :layout => 'home/shadow_box' do %>
<% content_for :box_width %>640<% end %>
#... code for sign in form here
<% end %>
# In app/views/home/_shadow_box.html.erb
<div class="shadow-one" style="width:<%= yield :box_width %>;">
<div class="corner-a"></div>
<div class="corner-b"></div>
<div class="shadow-two">
<div class="shadow-three">
<div class="shadow-four">
<%= yield %>
</div>
</div>
</div>
</div>
这不起作用,而是导致整个代码块的双重渲染。
解决这个问题的最佳方法是什么?