PAYATHON 2026

Rails 中如何判断循环的当前项是否为第一项?

数据小许

在 Rails 视图中,可以使用 Ruby 的 each_with_index 遍历集合。它会为每一项提供一个从 0 开始的索引,因此索引为 0 时,当前项就是第一项。

在 ERB 中区分第一项和其余项

<% @items.each_with_index do |item, index| %>
  <% if index.zero? %>
    <div class="featured-item">
      <%= render item %>
    </div>
  <% else %>
    <div class="list-item">
      <%= render item %>
    </div>
  <% end %>
<% end %>

@items 是传给视图的集合,item 是当前记录。index.zero? 用来判断当前项是否为第一项:第一项使用 featured-item 容器,其余项使用 list-item 容器。你可以根据项目实际使用的组件或 HTML 结构替换这些容器。

注意空集合

如果 @items 为空,循环体不会执行,也就不会渲染任何项目。需要显示空状态时,可以在循环前单独判断集合是否为空。

备注:内容仅供参考。