はじめる!Rails3(1)5.8演習問題答え

5.8演習

1.books コントローラの骨格を作成してください。

booksコントローラーの骨格を作成します。まずshelfに移動しましょう。そして作成します。


>rails g controller books


2. /books という URL パスへのアクセスにより、 books#index アクションが実行されるように
リソースbooks を登録してください。
ルーティングを設定しbooks#indexをconfig/routes.rbを編集します


Shelf::Application.routes.draw do
resources :books
end

app/view/books/index.html.erbを作成し

<h1>一覧</h1>

これでhttp://localhost:3000/booksで表示されます。今回は/booksでの表示のためroot :toでは指定せずindex.htmlも削除しません

3.ブラウザのタイトルバーに「蔵書管理アプリケーションShelf」と表示されるようにレイアウトを修正してください。
タイトルを付けます。
App/view/layout/application.html.erbの
をタイトルを入れレイアウトを綺麗に見せるために以下のように設定しました。

<!DOCTYPE html>
<html>
<head>
  <title>蔵書管理アプリケーションshelf</title>
  <%= stylesheet_link_tag :all %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>
  <div id="wrapper">
<%= render "shared/header" %>
    <div id="contents">
<%= yield %>
    </div>
<%= render "shared/footer" %>
  </div>
</body>
</html>

4.レイアウトにヘッダとフッタを埋め込んでください。ヘッダとフッタは自由にデザインして
構いません。

shardディレクトリー下に_header.html.erbと_footer.html.erbを作成し中にフッターヘッダーを作ります。フッターヘッダーは真似をして以下のように作りました。画像はnetbeansで既存のものを使ってみましたので大きさなど少し問題ありますが、演習為我慢します。表示できるかどうかが大事ですし・・・

<div id="footer">
  <strong>books</strong>
 - Powered by <strong>Ruby on Rails 3</strong>
</div>

<div id="header">
  <%= image_tag "rails.png", 
:size => "131x65", :alt => "サイトロゴ" %>
</div>


5.新規スタイルシートlayout.css を適宜作成し、正しいディレクトリに設置してください。
Public/stylesheetsにlayout.cssを作成してスタイルを作成します。今回はテキストと同じレイアウトを使用しました。

body {
background-color: #5555be;
}

div#wrapper {
width: 600px;
margin: 10px auto;
background-color: #fff;
}
div#header, div#footer {
color: #666;
margin: 5px;
padding: 5px;
}

div#footer {
text-align: center;
}

div#contents {
background-color: #fff;
color: #000;
margin: 5px;
padding: 5px;
border: solid 1px #ccc;
}