ruby “prima” metodo di supporto?
-
14-10-2019 - |
Domanda
ho il seguente file member.html.erb:
<ul class="members-list">
<%@members.each do |member|%>
<li class="member-item">
<%=member.name%>
</li>
<%end%>
</ul>
voglio aggiungere la "prima" classe per la prima li che verrà generato (solo per il primo), quindi sarebbe simile a questa:
<ul>
<li class="member-item first">john</li>
<li class="member-item">chris</li>
</ul>
tutti i pensieri?
Soluzione
Si potrebbe raggiungere questo aswell CSS utilizzando se puramente per lo styling. Se si ha un ID o di classe sulla ul allora si potrebbe in scrittura CSS
ul.member-list li:first-child {
WHATEVER STYLING CODE THAT YOU WOULD PUT IN member-item first
}
e per il resto delle li-tag
ul.member-list li {
}
Se si desidera che la classe da aggiungere si potrebbe per esempio
<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>
Altri suggerimenti
Simile, ma più terse, l'approccio alla risposta di Andreas / Heikki:
<ul>
<% @members.each_with_index do |member, i| %>
<li class="member-item<%= ' first' if i == 0 %>">
<% member.name %>
</li>
<% end %>
</ul>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow