我想创建一个每个循环,它将跳过第一个循环的第一个记录,但在第二个迭代时显示它。这可能吗?
我知道以下内容将从数组中的第二项开始,但显然它仍会跳过第二个循环的第一个记录。
<% @example[1..n].each do |example| %>
...
<% end %>
编辑:要提供一些上下文 - 这是我目前的代码。我真的不太了解javascript,我可能会以一种比它需要的更复杂的方式来做这件事。
也有人可以解释为什么在给予反对票时这是一个不好的问题。我正试图从头学习。我不知道有谁编码,所以我无法反复某人的想法,所以人们告诉我,如果我误解了这个概念会很好,因为我没有任何理由地从负面投票中学到任何东西
<div class="row no-gutters">
<div class="col-md-8 col-sm-8 no-gutters">
<div class="divs">
<% @example.each do |example| %>
<!--example information goes here -->
<% end %>
</div>
</div>
<div class="col-md-4 col-sm-4 no-gutters">
<div class="row no-gutters">
<div class="col-md-12 no-gutters" style="position: relative; text-align: center; color: white;">
<div class="divs2">
<% @example.each do |example| %>
<!--this is the one I want to skip the first item on-->
<% end %>
</div>
</div>
<div class="col-md-12 no-gutters">
<div class="container text-center">
<span>
<a id="prev" class="hidden"><i class="fa fa-arrow-left" aria-hidden="true"></i></a>
<a id="next"><i class="fa fa-arrow-right" aria-hidden="true"></i></a>
</span>
</div>
</div>
</div>
</div>
$('a#next').click(function(){
$('a#prev').removeClass('hidden');
});
$(document).ready(function(){
$(".divs div").each(function(e) {
if (e != 0)
$(this).hide();
});
$("#next").click(function(){
if ($(".divs div:visible").next().length != 0)
$(".divs div:visible").next().show().prev().hide();
else {
$(".divs div:visible").hide();
$(".divs div:first").show();
}
return false;
});
$("#prev").click(function(){
if ($(".divs div:visible").prev().length != 0)
$(".divs div:visible").prev().show().next().hide();
else {
$(".divs div:visible").hide();
$(".divs div:last").show();
}
return false;
});
$(document).ready(function(){
$(".divs2 div").each(function(e) {
if (e != 0)
$(this).hide();
});
$("#next").click(function(){
if ($(".divs2 div:visible").next().length != 0)
$(".divs2 div:visible").next().show().prev().hide();
else {
$(".divs2 div:visible").hide();
$(".divs2 div:first").show();
}
return false;
});
$("#prev").click(function(){
if ($(".divs2 div:visible").prev().length != 0)
$(".divs2 div:visible").prev().show().next().hide();
else {
$(".divs2 div:visible").hide();
$(".divs2 div:last").show();
}
return false;
}); });
答案 0 :(得分:5)
使用drop
方法。
@example.drop(1).each do |item|
...
end
然后使用普通each
@example.each do |item|
...
end