在Rails中迭代执行结果的结果

时间:2010-11-03 23:40:16

标签: mysql ruby-on-rails

我正在尝试找到一种方法来循环使用sql execute的每个结果。我正在使用'for'循环,但它将所有值聚合到一个单元格中。我需要将每个值分开

所以我的桌子会: row1 = 1,2,3 row2 = a,b,c

目前使用此方法将值返回到一个表格单元格中:

<% for values in @results %>
  <tr>
    <td><%= values %></td>
  </tr>
<% end %>

这就是它的显示方式

<tr>
  <td>123</td>
</tr>
<tr>
  <td>abc</td>
</tr>

我如何做到这一点:

<tr>
  <td>1</td><td>2</td><td>3</td>
</tr>
<tr>
  <td>a</td><td>b</td><td>c</td>
</tr>

1 个答案:

答案 0 :(得分:1)

您看到123的原因是因为正在打印数组[1, 2, 3],并且(在Ruby 1.8中)数组在打印时会被挤压在一起。

要在表格单元格中打印每个单独的值,只需使用内部for循环:

<% for values in @results %>
  <tr>
    <% for value in values %>
      <td><%= value %></td>
    <% end %>
  </tr>
<% end %>