Вложенный цикл в таблице ruby on rails 6 просмотр неправильного порядка

#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 это сработало мгновенно.