如何更新同一列中的数据

时间:2013-07-11 10:45:26

标签: ruby-on-rails

我在尝试动态更新表中的数据时遇到问题。我正在使用时间表模块。在那,每天有7个时期。例如,星期一第一个时期是“英语”,第二个时期是“数学”。

但是它不会更新同一行。相反,“英语”在一行中添加,“数学”在另一行中添加。我该如何解决这个问题?

_table.html.erb

<table class ="table">
    <tr class = "info">
        <th>Day</th>
        <th>Periods/Timing</th>
        <th></th>

    </tr>
    <% @timetable.each do |i| %>
        <tr class = "info">
            <td>*****</td>
            <td><p><%= i. period %></p><p><%= i.start_time.strftime("%I:%M %p")  %>&nbsp;to&nbsp; <%= i.end_time.strftime("%I:%M %p")  %></p></td>
        </tr>
        <tr>

            <td><%= i.day %></td>
            <td><%= i.subject.subject %></td>
        </tr>   

    <% end %>
</table>

在视图中,日 - &gt;星期一,主题 - &gt;英语是一行,Day - &gt;星期一,主题 - &gt;数学是另一排。主题数学未在同一列中更新。

1 个答案:

答案 0 :(得分:0)

这是因为你在循环中有两个<tr>。它应该是这样的:

      <% @timetable.each do |i| %>
        <tr class = "info">
          <td>
            <p>
              <%= i. period %>
            </p>
            <p>
              <%= i.start_time.strftime("%I:%M %p") %> &nbsp;to&nbsp;
              <%= i.end_time.strftime("%I:%M %p")  %>
            </p>
          </td>
          <td><%= i.day %></td>
          <td><%= i.subject.subject %></td>
        </tr>   
      <% end %>