У меня есть таблица, которая показывает получение платежей пользователя. Нажатие на строки с символом плюса раскрывает детали указанного чека, отображая каждый отдельный произведенный платеж. Эта часть работает, однако меня беспокоит, что может быть слишком много складных строк, которые могут отображаться одновременно. Я попытался найти способы добавления нумерации страниц в таблицу, чтобы отображались только 5 складных строк. Но большинство драгоценных камней, с которыми я сталкивался, кажется, применимы только к обычным строкам таблицы, а не к свертываемым строкам.
Код таблицы:
<table id="user_report_table" class="table table-responsive table-bordered" >
<thead style="background-color: black; color:white">
<tr>
<td></td>
<th>AR Number</th>
<th><%= sort_link "created_at", "Transaction Date" %></th>
<th style="text-align:right">Real Property Amount</th>
<th style="text-align:right">Tax</th>
<th style="text-align:right">Interest</th>
<th style="text-align:right">Penalties</th>
<th style="text-align:right">Discount</th>
<th style="text-align:center">Convenience Fee</th>
<th style="text-align:center">Courier Fee</th>
<th style="text-align:right"><%= sort_link "total", "Total" %></th>
</tr>
</thead>
<tbody>
<!-- Gets all user's payment receipts, clicking this row reveals receipt details -->
<% @official_receipt.each do |receipt|%>
<tr style="background-color: #66cc00" class="clickable" data-toggle="collapse" id="user_report_<%=receipt.id%>" data-target=".user_report_<%= receipt.id %>">
<td><i class="glyphicon glyphicon-plus"></i></td>
<td><%= receipt.or_number %></td>
<td><%= receipt.created_at.localtime %></td>
<td align="right"><%= number_with_precision(receipt.real_property_tax.to_f, precision: 2, delimiter: ',') %></td>
<td align="center"><%= number_with_precision(receipt.convenience_fee.to_f, precision: 2, delimiter: ',') %></td>
<td align="center"><%= number_with_precision(receipt.courier_fee.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(receipt.tax.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(receipt.interest.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(receipt.penalties.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(receipt.discount.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><b><%= number_with_precision(receipt.total.to_f, precision: 2, delimiter: ',') %></b></td>
</tr>
<tr style="background-color: #b3ff66" id="user_report_child_row_<%=receipt.id%>" class="collapse user_report_<%=receipt.id%>" align="right">
<td colspan="2" align="left"><strong>PIN</strong></td>
<td align="center"><strong>Year - Quarter</strong></td>
<td align="right"><strong>Amount</strong></td>
<td align="right"><strong>Tax</strong></td>
<td align="right"><strong>Interest</strong></td>
<td align="right"><strong>Penalties</strong></td>
<td align="right"><strong>Discount</strong></td>
<td align="center" colspan="3"><strong>Paid in Protest?</strong></td>
</tr>
<!-- Reveals receipt details, this is the part I need paginated -->
<% receipt.official_receipt_dtls.order('pin DESC, year DESC, quarter').each do |i|%>
<tr id="user_report_child_row_<%=receipt.id%>" class="collapse user_report_<%=receipt.id%>" align="right">
<% pin_address = Property.find_by_pin(i.pin).address %>
<%= puts "==========================#{pin_address}" %>
<td data-toggle="tooltip" title="<%= pin_address %>" data-container="body" colspan="2" align="left">
<%= i.pin%>
</td>
<td align="center"><%= i.year%> - <%= i.quarter%></td>
<td align="right"><%= number_with_precision(i.amount.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(i.tax.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(i.interest.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(i.penalties.to_f, precision: 2, delimiter: ',') %></td>
<td align="right"><%= number_with_precision(i.discount.to_f, precision: 2, delimiter: ',') %></td>
<td align="center" colspan="3">
<% protest_status = PropertyDtl.find_by_pin_and_year_and_quarter(i.pin, i.year, i.quarter).paidprotest %>
<% if protest_status == true %>
Yes
<% else %>
No
<% end %>
</td>
</tr>
<% end %>
<%end%>
</tbody>
</table>
Драгоценности пагинации, которые работали для других таблиц:
gem 'will_paginate-bootstrap'
gem 'jquery-datatables-rails', '~> 3.4.0'
Изображение таблицы (все строки под светло-зеленой строкой являются строками, страницы которых мне нужны)
![Table picture](https://i.stack.imgur.com/UMCWz.png)