как я могу напечатать id и sub_id во вложенной таблице в рельсах - PullRequest
0 голосов
/ 25 января 2020

Я печатаю вложенный стол в рельсах. Теперь я хочу напечатать их идентификатор как 1,2,3 и т. д. и вложенный контент sub_id как 1.1,1.2 ... 3.1 и т. д. Как я могу сделать это в рельсах?

<div class="table-scroll">
  <table>
    <thead>
      <tr>
        <th width="300">Task Name</th>
        <th width="40">Planned start date</th>
        <th width="40">Planned end date</th>
      </tr>
    </thead>

    <tbody>
      <% @stages.each do |stage| %>
        <tr class="stage">
          <td><%= stage.stage %></td>
          <td><%= stage.planned_start_date.strftime("%d-%m-%Y") %></td>
          <td><%= stage.planned_end_date.strftime("%d-%m-%Y") %></td>
        </tr>

        <% stage.tasks.each do |task| %>
          <tr>
            <td class="text-center"><%= task.task_name %></td>
            <td><%= task.planned_start_date.strftime("%d-%m-%Y") %></td>
            <td><%= task.planned_end_date.strftime("%d-%m-%Y") %></td>
          </tr>

          <% task.sub_tasks.each do |sub_task| %>
            <tr>
              <td class="text-right"><%= sub_task.sub_task_name %></td>
              <td><%= sub_task.planned_start_date.strftime("%d-%m-%Y") %></td>
              <td><%= sub_task.planned_end_date.strftime("%d-%m-%Y") %></td>
            </tr>
          <% end %>
        <% end %>
      <% end %>
    </tbody>
  </table>
</div>

Как я могу добавить столбец для пользователя и вывести 1 для задачи и 1.1,1.2 ... для подзадачи. Я не могу взять идентификатор из таблицы, потому что они многопользовательские (профилирование). я хочу напечатать идентификатор из внешнего интерфейса.

1 Ответ

0 голосов
/ 25 января 2020

Похоже, вам нужен счетчик задач и счетчик подзадач.

...
<% stage.tasks.each_with_index do |task, task_index| %>
  <tr>
    <td class="text-center"><%= "#{task_index + 1} #{task.task_name}"%></td>
    <td><%= task.planned_start_date.strftime("%d-%m-%Y") %></td>
    <td><%= task.planned_end_date.strftime("%d-%m-%Y") %></td>
  </tr>

  <% task.sub_tasks.each_with_index do |sub_task, sub_task_index| %>
    <tr>
      <td class="text-right"><%= "#{task_index + 1}.#{sub_task_index + 1} #{sub_task.sub_task_name }"%></td>
      <td><%= sub_task.planned_start_date.strftime("%d-%m-%Y") %></td>
      <td><%= sub_task.planned_end_date.strftime("%d-%m-%Y") %></td>
    </tr>
  <% end %>
<% end %>

Подробнее о Enumerable # each_with_index

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...