Rails - パーシャルによる切り出し
やり方
- 切り出したい部分を <%= render 'layouts/xxxxx' %> に書き換え
- app/views/layouts以下に _xxxxx.html.erb を追加 (「_」アンダーバー忘れずに)
以下、app/views/layouts/application.html.erbのheaderタグをパーシャルで切り出す具体例
パーシャルで切り出す前
app/views/layouts/application.html.erb
<!DOCTYPE html> <html> <head> 略 </head> <body> <header> <div> <%= link_to "sample app", root_path, id: "logo" %> <nav> <ul class="nav navbar-nav navbar-right"> <li><%= link_to "Home", root_path %></li> <li><%= link_to "Help", help_path %></li> <li><%= link_to "Log in", signup_path %></li> </ul> </nav> </div> </header> <%= yield %> </body> </html>
パーシャルで切り出す
- application.html.erbのheaderタグを <%= render 'layouts/header' %> に書き換え
- layouts以下に_header.html.erbを追加
app/views/layouts/application.html.erb
<!DOCTYPE html> <html> <head> 略 </head> <body> <%= render 'layouts/header' %> <div class="container"> <%= yield %> </div> </body> </html>
app/views/layouts/_header.html.erb
<header> <div> <%= link_to "sample app", root_path, id: "logo" %> <nav> <ul class="nav navbar-nav navbar-right"> <li><%= link_to "Home", root_path %></li> <li><%= link_to "Help", help_path %></li> <li><%= link_to "Log in", signup_path %></li> </ul> </nav> </div> </header>