Merbでサイドバーをつける
なんとなくmerbをいじっている。
サイドバーの設置で早速戸惑った。
app/views/layout/application.html.erb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us"> <head> <title>Fresh Merb App</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="/stylesheets/master.css" type="text/css" media="screen" charset="utf-8" /> </head> <body> <%#= message[:notice] %> <% render :layout => :sidebar%><!-- ここでサイドバーをレンダリングしておいて、 --> <%= catch_content :sidebar%><!-- ここでキャッチ --> <%= catch_content :for_layout %> </body> </html>
app/views/layout/sidebar.html.erb
<% throw_content :sidebar do %> <div id="left-container"> <h3>Menu</h3> <%= link_to 'Account', '../accounts' %><br> </div> <% end %>
catch_contentする前に、renderが必要なのは判るが、どこに書くのが適当かよくわからない。