は、私はこのようなブロックがあるとしましょう:Rubyの各ブロックでは、ブロック内の配列の最後のレコードに何かしますか?
<% @help_sections.each do |section| %>
<li><%= section.name %></li>
<% end %>
しかし、最後のレコードが返され、私は例えば、他の何かをしたいのありますli
にクラスを適用する:
<li class="last"><%= section.name %></li>
私が最もDRYな方法であることはどのように行うのですか?
ありがとうございました。
EDIT1:
私は単にブロック内でそれを行う方法がわからif
声明とlast
ルビーメソッドを使用しますが、ない想像?私はその配列の最後の要素がほしいと思ったら、私はちょうど@help_sections.last
を行うことができますが、それはRubyブロックの範囲内で意味をなさないことを知っています。
唯一の問題を除いて、すべての主要なブラウザで ':last'と':last-child'疑似クラスがサポートされていますか?私はこの提案が好きです。 – marcamillion
@Jordan @ marcamillion最後の 'li'のスタイリングについて問題があったなら、これは完璧な答えでした。しかし、問題は、 'each'イテレータを使って解析される配列の最後のレコードで特別なことをすることです。少なくとも、これは質問のタイトルと、最後の 'li 'の' li'と 'class'が例として与えられたという事実から理解しているところです(' .... .... '参照) –
これを見てください参照:http://reference.sitepoint.com/css/pseudoclass-lastchildおよびhttp://www.quirksmode.org/css/contents.html。 ':last-child'はIEを除くすべての主要なブラウザでサポートされています(最大9バージョン) – WarHog