私のビューの 1 つで、コード ブロックにレイアウトを適用します。
# In app/views/sessions/new.html.erb
<% render :layout => 'home/shadow_box' do %>
#... code for sign in form here
<% end %>
レイアウトは、4 つの側面すべてに png シャドウがある div です。
サイト全体でこのレイアウトを使用しているため、シャドウ 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>
これは機能せず、代わりにコード ブロック全体の二重レンダリングが発生しました。
この問題に取り組む最善の方法は何ですか?