2010-11-03 2 views
1

Я пытаюсь найти способ циклического выполнения каждого из результатов использования sql execute. Я использую цикл 'for', но он объединяет все значения в одну ячейку. Мне нужно отделить каждое значениеИтерация результатов из результатов выполнения в Rails

Так моя таблица будет иметь: row1 = 1, 2, 3 row2 = а, Ь, с

В настоящее время с помощью этого возвращает значения в один ячейку таблицы:

<% 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

Причина, по которой вы видите 123, заключается в том, что массив [1, 2, 3] печатается и (в Ruby 1.8) массивы сжимаются вместе при печати.

Для печати каждого отдельного значения в ячейке таблицы, просто использовать внутренний цикл:

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

Awesome, спасибо большое! Это сработало отлично. – oprogfrogo

+0

Жаль, что у меня не было больше репутации, чтобы дать вам голоса. – oprogfrogo

+0

Вы знаете, как я буду перебирать каждое имя столбца? – oprogfrogo

Смежные вопросы