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 为空,循环体不会执行,也就不会渲染任何项目。需要显示空状态时,可以在循环前单独判断集合是否为空。
备注:内容仅供参考。
