2012年8月30日木曜日

rails のlayout と 複数 yield と content_for

Railsのlayouotに複数yieldを埋め込みたい場合はどうすれば良いのでしょうか?

yieldに名前をつけてあげます。下記の例で言えば、:sidebar

<div id = "sidebar">
  <%= yield :sidebar %>
</div>

<div id="content">
  <%= yield %>
</div>

その際に、view側では、 content_for というタグを使って、
yield :sidebar のところに埋め込む部分を定義します。
例えば、partialでメニューを埋め込む場合はこんな感じ。
<% content_for :sidebar do %>
  <%= render(:partial => 'menu') %>
<% end %>

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。