[英]How to iterate through an array from a specific point to the end of array in Rails
我需要遍历数组,从数组的特定点开始到数组的尽头。
例如:
<% @posts[6.."To the very end of array"].each do |post| %>
<%= render partial: 'posts/post', locals: {post: post} %>
<% end %>
这是我要完成的工作的一个更完整的示例。
<% @posts.each do |post| %>
<% if post == @posts.first && !params[:page] %>
<div class="hidden-phone hidden-tablet">
<%= render partial: 'posts/main_post', locals: {post: post} %>
</div>
<div class="visible-phone visible-tablet">
<%= render partial: 'posts/post', locals: {post: post} %>
</div>
<%= render partial: 'posts/add_post' %>
<% end %>
<% end %>
<% @posts[1..5].each do |post| %>
<%= render partial: 'posts/post', locals: {post: post} %>
<% end %>
<%= render partial: 'posts/add2_post' %>
<% @posts[6..11].each do |post| %>
<%= render partial: 'posts/post', locals: {post: post} %>
<% end %>
<%= render partial: 'posts/add3_post' %>
<% @posts[12.."To the very end of array"]each do |post| %>
<%= render partial: 'posts/post', locals: {post: post} %>
<% end %>
有没有更有效的方法来实现这一目标?
谢谢你的帮助。
您可以使用数组的长度,如下所示:
<% @posts[6..@posts.length].each do |post| %>
<%= render partial: 'posts/post', locals: {post: post} %>
<% end %>
从技术上讲,您应该执行length-1
但是键入起来可能很繁琐,而且如果您提供的数字大于数组的界限,Ruby仍然不会越过它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.