each_with_index所需的列输出Rails

时间:2010-10-20 10:35:18

标签: ruby-on-rails loops foreach

<% source.strains.each_with_index do |strain, j| %>
 <% if (j == (source.strains.size - 1)) %>
  <font size="3">Strain <%= strain[0].appendix %> </font>
 <% end %>                       
<% end %>

我需要输出

如果j值是循环的最后一个,那么我需要打印循环的第一个值(j [0])。请建议我或纠正以上脚本。

1 个答案:

答案 0 :(得分:2)

看起来您的代码与

相同
<font size="3">Strain <%= source.strains.last[0].appendix %> </font>

(没有任何循环)

查看Array#last

但即使你不了解last方法,制作一个循环来访问集合中的最后一个元素也有点奇怪。你至少可以做collection[collection.size - 1]

发表评论
那你为什么要strain[0]而不是source.strains[0]呢? source.strains是您的集合,strain只是循环中的当前元素。我以为strain也是某种数组。