1

私は次のファイルmember.html.erbを持っています:

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

生成される最初のliに(最初の)「最初の」クラスを追加したいので、次のようになります。

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

何かご意見は?

4

2 に答える 2

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>
于 2010-12-30T10:45:22.977 に答える
4

アンドレアス/ヘイッキの答えへの同様の、しかしより簡潔なアプローチ:

<ul>
  <% @members.each_with_index do |member, i| %>
    <li class="member-item<%= ' first' if i == 0 %>">
        <% member.name %>
    </li>
  <% end %>
</ul>
于 2010-12-30T11:19:15.423 に答える