我有一个类别,它有工作注册。为了在表中显示这些,我使用下面的代码。然而,它以错误的方式执行。所有类别都打印在表格的顶部,而所有工作注册则发布在类别列表的下方。这对我来说很奇怪,因为工作注册循环是在类别循环中执行的。知道如何更正代码吗?我尝试过使用group_by,但是这得到了相同的结果。
<table id="dataWorkRegistrations" class="table table-lightborder" data-class="WorkRegistration">
<thead>
<tr>
<th><%= t('work_registration.fields.code.label') %></th>
<th><%= t('work_registration.fields.status.label') %></th>
<th><%= t('work_registration.fields.name.label') %></th>
<th><%= t('work_registration.fields.frequency.label') %></th>
<th><%= t('work_registration.fields.amount.label') %></th>
</tr>
</thead>
<tbody>
<% @categories.each do |categorie| %>
<tr class='bg-light'>
<td><b><%= categorie.code %></b></td>
<td> </td>
<td><b><%= categorie.name %></b></td>
<td> </td>
<td> </td>
</tr>
<% categorie.work_registrations.each do |work_registration| %>
<tr>
<td><%= work_registration.code %></td>
<td><%= work_registration.status %></td>
<td><%= work_registration.name %></td>
<td><%= work_registration.frequency %></td>
<td><%= work_registration.amount %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
我设法解决了这个问题。将表作为work_registrations的索引。数据表开始对所有数据进行排序,这导致了奇怪的排序。在禁用数据表的初始排序后,它立即起作用。