私はレールを使用していますが、私がやろうとしていることが html テーブルで可能かどうか疑問に思っています。多くのカテゴリを持つオブジェクトを繰り返し処理しています。各カテゴリには 1 つ以上の本があり、各本は「ページ」属性として含まれています。次のようなテーブルを作成したいと思います。
**category** **book name** **pages**
general book1 15
book2 20
book3 40
これはテーブルの 1 行に対応すると思いますが、最後の 2 列には明らかに複数の行が含まれています。次のようなコードでこれを達成できました。
<table>
<thead><th>category</th><th>book name</th><th>pages</th></thead>
<tbody>
<% category.each do |c| %>
<tr>
<td><%= c.name %></td>
<td>
<% c.books.each do |b| %>
<%= b.name %><br />
<% end %>
</td>
<td>
<% c.books.each do |b| %>
<%= b.pages %><br />
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
ご覧のとおり、c.books を 2 回繰り返していますが、これは面倒なようです。c.books を一度だけ繰り返しながらこれを行う方法はありますか? 提案があればぜひ聞きたいです。