Создан нумерованный список с помощью For Loop - PullRequest
3 голосов
/ 23 июня 2010

Вы могли бы подумать, что я сделаю это за 10 секунд, но я потратил полчаса и никуда не денусь .. Вот то, что я имею / хочу:

  <table>
     <% i=0 %>
     <% for name in @names%>
       <% i++ %>
       <tr>
  <td><%= "#{i}" %></td>
  <td><%= name.first %>"></td>
       </tr>
  </table>

Да, всеЯ хочу это нумерованный список имен, например:

  1. Фред
  2. Вильма и т.д ...

Я получаю ошибку: compile error /blah/_names.html.erb:13: syntax error, unexpected ';' ; i++ ; @output_buffer.concat "\n\t\t <td>"

Ответы [ 4 ]

6 голосов
/ 23 июня 2010

Вы можете сделать это

<table> 
   <% @names.each_with_index do |name, i| %>
      <tr> 
         <td><%= i %></td> 
         <td><%= name %></td> 
      </tr> 
   <% end %>
</table>
4 голосов
/ 23 июня 2010

Вам следует попробовать использовать Упорядоченный список вместо Таблица

<ol> 
   <% @names.each do |name| %>
     <li><%= name %></li>  
   <% end %>
</ol>
2 голосов
/ 23 июня 2010

В Ruby нет i++. Попробуйте i += 1 вместо.

1 голос
/ 23 июня 2010
<table>
  <% i = 0 %>
  <% for name in @names %>
   <% i += 1 %>
   <tr>
     <td><%= i %></td>
     <td><%= name.first %></td>
   </tr>
 <% end %>
</table>
...