3

あなたは私がこれを 10 秒で完了すると思うでしょうが、私は 1/2 時間を費やしてどこにも行きません..これが私が持っている/欲しいものです:

  <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

4 に答える 4

6

あなたはこのようにすることができます

<table> 
   <% @names.each_with_index do |name, i| %>
      <tr> 
         <td><%= i %></td> 
         <td><%= name %></td> 
      </tr> 
   <% end %>
</table>
于 2010-06-23T00:09:05.263 に答える
4

テーブルの代わりに順序付きリストを使用してみてください

<ol> 
   <% @names.each do |name| %>
     <li><%= name %></li>  
   <% end %>
</ol>
于 2010-06-23T02:44:13.380 に答える
2

i++Rubyにはありません。i += 1代わりに試してください。

于 2010-06-23T00:09:11.987 に答える
1
<table>
  <% i = 0 %>
  <% for name in @names %>
   <% i += 1 %>
   <tr>
     <td><%= i %></td>
     <td><%= name.first %></td>
   </tr>
 <% end %>
</table>
于 2010-06-23T00:16:13.623 に答える