2015-12-13 2 views
0

Je crée un curseur pour mon blog et je veux ajouter une collection d'éléments en vedette, Le curseur nécessite que le premier enfant charge avec la classe selected.Ajouter une classe au premier enfant dans une boucle en utilisant Middleman

Comment puis-je faire quelque chose comme if first child do thiselse do that

Voici ce que j'ai jusqu'à présent:

<ul class="cd-hero-slider"> 
    <% blog.articles.select {|a| a.data[:featured] }.each do |article| %> 
     <li class="selected" style="background-image: url('https://images.unsplash.com/photo-1447014421976-7fec21d26d86?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=c82e04e12daab5427f481731')"> 
     <div class="cd-full-width"> 
      <h2><%= link_to article.title, article %></h2> 
      <p><%= article.summary(250) %></p> 
      <%= link_to 'Read More', article, :class => 'cd-btn' %> 
     </div> 
     </li> 
    <% end %> 
    </ul> 

Répondre

1

Utilisation each_with_index au lieu de chaque - cela vous donnera l'objet, mais aussi la position dans le tableau , en premier lieu 0:

<% blog.articles.select {|a| a.data[:featured] }.each_with_index do |article, index| %> 
    <% if index == 0 %> 
    <li>I'm the first!</li> 
    <% else %> 
    <li>Not the first</li> 
    <% end %> 
<% end %>