はじめる!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; }