0

我有以下要输出前六个用户的地方,如果超过六个,只需返回'...'。

我该怎么做?

<% users.each_with_index do |x, key| %>
   <% if key <= 5 %> 
    <%=x.name %>
    <% else %>
      ... <% next %>
    <% end %>
<% end %> 
4

1 回答 1

3

最后的下一个是什么?Next 将进入下一个迭代。如果你想跳出循环,你需要使用break。

<%
  users.each_with_index do |user, key|
    if key > 5
      concat('...')
      break
    end
    concat(user.name)
  end
%>

你也可以

<%= users.take(6).map(&:name).join %>
<%= '...' if users.size > 6 %>
于 2012-09-21T00:55:40.697 回答