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
是其他问题,可能会有不同的解决方案。
如何循环获取 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
是其他问题,可能会有不同的解决方案。