ページの上部に置くヘッダーや、ページの左右に置くサイドバーなどは、「_menu_bar.html.erb」のように「_」をファイル名の前につけます。
続いて、ページ構成をhtmlに書いていきます。
/app/views/layouts/application/html.erb
<!DOCTYPE html>
<html>
<head>
<title><%= page_title %></title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<div id="container">
<div id="header">
<%= render "shared/header" %>
</div>
<div id="content">
<%= yield %>
</div>
<div id="sidebar">
<%= render "shared/sidebar" %>
</div>
<div id="footer">
<%= render "shared/footer" %>
</div>
</div>
</body>
</html>
app/viewsフォルダの下に、sharedの空フォルダを作成し、上記の通り、_header.html.erb、_sidebar.html.erb、_login_form.html.erb、_footer.html.erbを作成してい行きます。また、ヘルパーメソッドmenu_link_toをapplication_helper.rbにも記載します。
/app/veiws/shared/_header.html.erb
<%= image_tag("logo.gif", size: "272x48", alt: "Morning Glory") %>
<div class="menubar">
<%= menu_link_to "TOP", root_path %> |
<%= menu_link_to "ニュース", "#" %> |
<%= menu_link_to "ブログ", "#" %> |
<%= menu_link_to "会員名簿", "#" %> |
<%= menu_link_to "管理ページ", "#" %> |
</div>
/app/veiws/shared/_shidebar.html.erb
<%= render "shared/login_form" %>
<h2>最新ニュース</h2>
<ul>
<% 5.times do |i| %>
<li><%= link_to "ニュースの見出し", "#" %></li>
<% end %>
</ul>
<h2>会員のブログ</h2>
<ul>
<% 5.times do |i| %>
<li><%= link_to "ブログの見出し", "#" %></li>
<% end %>
</ul>
/app/veiws/shared/_login_form.html.erb
<h2>ログイン</h2>
<table id="login_form">
<tr>
<td align="right">ユーザー名:</td>
<td><input type="text" size="16" style="width: 120px"></td>
</tr>
<tr>
<td align="right">パスワード:</td>
<td><input type="password" size="16" style="width: 120px" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="ログイン" /></td>
</tr>
</table>
/app/veiws/shared/_footer.html.erb
<%= link_to "このサイトについて", about_path %> |
Copyright(c) <%= link_to "hoge hoge", "http://www.hogehoge.co.jp/" %>
2016
/app/helpers/application_helper.rb
def menu_link_to(text, path)
link_to_unless_current(text, path){ content_tag(:span, text)}
end
続いて、トップページにダミーテキストを入れます。
/app/views/top/index.html.erb
<% 5.times do |x| %>
<h2>見出し</h2>
<p>ここに本文が入ります。ここに本文が入ります。ここに本文が入ります。ここに本文が入ります。
<%= link_to "もっと読む", "#" %></p>
<% end %>
/app/controllers/top_controller.rb
class TopController < ApplicationController
def index
end
def about
end
end
骨格が出来たので、あとはcssでデザインしていきます。