Rails 如何循环只得到一个项目

Rails how to loop to get just one item

如何循环获取 table 中的一项?

如果你使用

<% @blocks.first(4).each do |b| %>

将获得 table

的前 4 个

但是只得到第 5 项?

我试过使用查找 <% @blocks.find(5).each do |b| %>

但继续获得 table

的前 5 个

那么,有人知道吗?

块内

<% @blocks.first(1).each do |b| %>

  <li >

    <%= link_to  content_tag(:span, b.category),  block_path(:id => b.id), :class => "drop" %>
<% end %>

不需要循环来获取一项。直接获取即可:

 <% b = @blocks[4] # fifth element %>

但是,如果出于某种原因,您想要循环,您可以使用 drop / take。

<% @blocks.drop(4).take(1).each do |b| %>

注意:这假定了 Array 接口。如果您的 @blocks 是其他问题,可能会有不同的解决方案。