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

1.貸し出しされていない(checked_out カラムがfalse である)書籍の題名、筆者、出版年を
一覧表示するbooks#index アクションを実装してください。

書籍の題名、著者、出版日、が表示できるようbooks#indexを編集します
books_controller.rb(貸出されていないということがfalseである場合)


def index
@books = Book.where(:checked_out => false)
end

2.books#index アクションに対応する ERB テンプレートを修正してください。

books#indexアクション対応のERBテンプレートを編集します

<% @books.each do |book| %>
  <tr>
    <td><%= link_to(book.title, book) %></td>
    <td><%= book.authors %></td>
    <td><%= book.publish_year %></td>
  </tr>
<% end %>

3.新規スタイルシートbooks.css を適宜作成してください。
(div id="book_authors" div id="book_publish_year"
div id="book_comment")を追加したのちにスタイルシートを作成します。

table.books {
width: 560px;
margin: 5px auto;
background-color: #eee;
border-collapse: collapse;
border-spacing: 0;
}

table.books tr {
border: solid 1px #ccc;
}

table.books td {
padding: 5px;
}

table.books col.title {
width: 320px;
}

table.books col.publish_year {
background-color: #ddd;
}

table class=”books”
col class=”title”
col class =”publish_year”


div#book_publish_year {
text-align: right;
color: #f00;
border: solid 1px #888;
padding: 5px;
}

4.本の一覧ページに詳細表示ページへのリンクを設置してください。


<%= link_to(book.title, book) %>→<%= link_to(book.title, book) %>

5.書籍の詳細情報を表示するbooks#show アクションを実装してください。

books#showを作成

<h1><%= @book.title %></h1>
<div id="main">
<%= @book.authors %><%= @book.publish_year %>
<%= @book.comment %>
</div>
<%= link_to "戻る", :books %>

6.books#show アクションに対応する ERB テンプレートを作成してください。

erbテンプレート作成


def show
@book = Book.find(params[:id])
end

7.スタイルシートbooks.css を適宜修正し、詳細表示ページのスタイルを整えてください。
books.cssを修正

div#book_publish_year {
text-align: right;
color: #f00;
border: solid 1px #888;
padding: 5px;
}