#ruby-on-rails #loops #each
#ruby-on-rails #циклы #каждый
Вопрос:
У меня есть категория, в которой есть рабочие регистрации. Чтобы отобразить их в таблице, я использую приведенный ниже код. Однако он выполняется неправильным способом. Все категории печатаются в верхней части таблицы, в то время как все регистрации работ затем публикуются под списком категорий. Для меня это странно, поскольку цикл регистрации работы выполняется в цикле категории. Есть идеи, как исправить код? Я пытался использовать 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>amp;nbsp;</td>
<td><b><%= categorie.name %></b></td>
<td>amp;nbsp;</td>
<td>amp;nbsp;</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>
Комментарии:
1. Можете ли вы проверить , происходит ли то же самое после удаления
class='bg-light'
? Просто хотел подтвердить, есть ли какой-либо JS-код, делающий это.2. @Salil то же самое остается и после удаления класса.
3. Странно! Может быть, вы можете попробовать создать частичное
_categorie.html.erb
и вызвать его в виде<%= render partial: "categorie", collection: @categories, as: :categorie %>
4. Вы уверены, что все ваши категории имеют регистрации? Для тестирования я бы добавил столбец в таблицу регистрации работы с кодом категории и посмотрел, верны ли ваши данные.
Ответ №1:
Мне удалось решить проблему. Как таблица в качестве индекса для work_registrations. Таблицы данных начали сортировать все, что вызвало странную сортировку. После отключения начальной сортировки в datatable это сработало мгновенно.