在我的观点一个我应用布局的代码块:Rails视图:如何将变量传递给局部布局?
# In app/views/sessions/new.html.erb
<% render :layout => 'home/shadow_box' do %>
#... code for sign in form here
<% end %>
布局是具有四面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>
这没有奏效,而是导致整个代码块的双渲染。
解决此问题的最佳方法是什么?
我明白btwn布局和谐音的区别......我不是在谈论整个行动在全球指定的这种布局。部分不适合我的需要在这里,因为我有一个容器(几个div来制作一个阴影容器),我想扔任何东西,无论是代码块还是部分(即渲染'库存/展示' ,:layout =>'shadow_box')。 – telecasterrok 2010-08-21 00:14:51