1

在这里,我想设置一个每周计划器,稍后我将在其中插入计划。

我有按星期几排序的列。(星期一,星期二...)现在,我希望按时间对行进行排序。

但是,下面是我的代码。对于每一列,它循环的次数与我的时间段中的项目数相同。

如果您能给我一些关于如何修复它的指导,以使每个时间段仅在整个表中出现一次,将不胜感激。

代码

<table class="Time Table">
  <tr>
    <th><%= "Time" %></th>
    <th><%= "Monday" %></th>
    <th><%= "Tuesday" %></th>
    <th><%= "Wednesday" %></th>
    <th><%= "Thursday" %></th>
    <th><%= "Friday" %></th>
    <th><%= "Saturday" %></th>

 </tr>
  <% @time_slots.each do |time_slot| %>
    <tr>
      <td></td>
        <td><% if time_slot.dayOfWeek = "Monday" %><%= time_slot.startTime %><% end %></td>
        <td><% if time_slot.dayOfWeek = "Tuesday" %><%= time_slot.startTime %><% end %></td>
    <td><% if time_slot.dayOfWeek = "Wednesday" %><%= time_slot.startTime %><% end %></td>
    <td><% if time_slot.dayOfWeek = "Thursday" %><%= time_slot.startTime %><% end %></td>
    <td><% if time_slot.dayOfWeek = "Friday" %><%= time_slot.startTime %><% end %></td>
    <td><% if time_slot.dayOfWeek = "Saturday" %><%= time_slot.startTime %><% end %></td>
    </tr>
  <% end %>

4

1 回答 1

2

好的,你刚刚把它翻转过来......你需要这样的东西:

<% days = %w[ Monday Tuesday Wednesday Thursday Friday Saturday] %>

<% days.each do |day| %>
   <td>
   <% @time_slots.select {|time_slot| time_slot.dayOfWeek == day }.each do |time_slot| %>
     <%= time_slot.startTime %><br/>
   <% end %>
   </td>
<% end %>

希望这有帮助,祝你好运。

于 2012-11-03T05:34:45.710 回答