在每个块的Ruby中,如何对块内数组中的最后一条记录执行某些操作?

mar*_*ion 0 ruby sinatra

说我有这样一个块:

<% @help_sections.each do |section| %>
    <li><%= section.name %></li>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但是在返回的最后一条记录中,我想做其他事情,例如在li那里应用一个类:

<li class="last"><%= section.name %></li>

我怎么用最干的方式做到这一点?

谢谢.

EDIT1:

我想我会简单地使用一个if语句和lastruby方法,但不知道如何在块中做到这一点?我知道,如果我只想要该数组中的最后一个元素,我可以这样做@help_sections.last,但这在Ruby块的范围内没有意义.

Jor*_*ing 7

最干的方法是使用CSS代替.而不是例如:

li.last { color: red; }
Run Code Online (Sandbox Code Playgroud)

..然后用额外的CSS类弄乱你的标记,只需使用:last-child伪选择器,即:

li:last-child { color: red; }
Run Code Online (Sandbox Code Playgroud)

那么您不必在视图中更改任何内容.包括IE9在内的所有现代浏览器都支持此功能.