layoutとtemplateとpartsを使い分けるいい方法を知りたい

Header+2pain+Footerなベーステンプレートがあって,それは全画面で使いたい.ただ各部では共通なpartsを利用して,main部分には各controllerに応じた表示をさせたい.のような場合,ひとまずはcontents_forを使う方法でやってますが,これよりいい方法あるんでしょうか.

<% content_for(:header) do -%>
header
<% end -%>

<% content_for(:menu) do -%>
menu
<% end -%>

<% content_for(:footer) do -%>
footer
<% end -%>

main contents
<html>
 <body>
  <div id="header"><%= yield :header -%></div>
  <div id="container">
   <div id="menu"><%= yield :menu -%></div>
   <div id="main"><%= yield :layout -%></div>
  </div>
  <div id="footer"><%= yield :footer -%></div>
</body>
</html>

そもそも構成がまずいのかもしれないのだが,どうなんだろうか.

 
comments powered by Disqus