2010-12-30 12 views
0

私は、次のファイルmember.html.erbを持っている:ruby​​ "first"ヘルパーメソッド?

<ul class="members-list"> 
    <%@members.each do |member|%> 
    <li class="member-item"> 
    <%=member.name%> 
    </li> 
    <%end%> 
</ul> 

私は(ちょうど最初に)生成される最初の李に「最初の」クラスを追加したいので、それはこのようになります。 :

<ul> 
    <li class="member-item first">john</li> 
    <li class="member-item">chris</li> 
</ul> 

どのような考えですか?

答えて

4

純粋にスタイリングの場合は、CSSを使用してこれを達成することもできます。あなたは、UL上のIDやクラスを持っているいずれかの場合、あなたはCSSで、クラスを追加したい場合は、可能性

ul.member-list li:first-child { 
WHATEVER STYLING CODE THAT YOU WOULD PUT IN member-item first 
} 

を書くとLi-タグ

ul.member-list li { 

} 

の残りのための可能性似ていますが、より簡潔例えば

<ul> 
    <% @members.each_with_index do |member, i| %> 

    <% if i == 0 %> 
     <li class="member-item first"> 
      <% member.name %> 
     </li> 
    <% else %> 
     <li class="member-item"> 
      <% member.name %> 
     </li> 
    <% end %> 
</ul> 
+1

".each_with_index do | member、i |"でループすることができます別のカウンタ変数を取り除くことができます。 – Heikki

+0

私はそれを知らなかった、ありがとう私は答えを更新する! – LuckyLuke

4

、アンドレアス/ヘイッキの回答へのアプローチ:

<ul> 
    <% @members.each_with_index do |member, i| %> 
    <li class="member-item<%= ' first' if i == 0 %>"> 
     <% member.name %> 
    </li> 
    <% end %> 
</ul> 
関連する問題