你会认为我会在10秒钟内完成这项任务,但我已经花了半小时而且无处可去......这就是我所拥有/想要的:
<table>
<% i=0 %>
<% for name in @names%>
<% i++ %>
<tr>
<td><%= "#{i}" %></td>
<td><%= name.first %>"></td>
</tr>
</table>
是的,我想要的只是一个带编号的名单,如:
我得到的错误是:
compile error
/blah/_names.html.erb:13: syntax error, unexpected ';'
; i++ ; @output_buffer.concat "\n\t\t <td>"
答案 0 :(得分:6)
你可以这样做
<table>
<% @names.each_with_index do |name, i| %>
<tr>
<td><%= i %></td>
<td><%= name %></td>
</tr>
<% end %>
</table>
答案 1 :(得分:4)
您应该尝试使用有序列表而不是表
<ol>
<% @names.each do |name| %>
<li><%= name %></li>
<% end %>
</ol>
答案 2 :(得分:2)
Ruby中没有i++
。请改为i += 1
。
答案 3 :(得分:1)
<table>
<% i = 0 %>
<% for name in @names %>
<% i += 1 %>
<tr>
<td><%= i %></td>
<td><%= name.first %></td>
</tr>
<% end %>
</table>