Je connais la méthode find_in_batches
pour ActiveRecord, mais cela ne me permet pas de définir mon :order
ou :limit
. J'essaye de faire défiler mes données, et pour chaque 6 articles je veux les emballer dans un <div
>.Bouclage par lots Un modèle avec Ruby
Je tentais de tout ...
<%
i = 0
@media.each do |media|
%>
<% if i%6 %><div class="section"><% end %>
[...]
<% if i%6 %></div><% end %>
<%
i += 1
end
%>
Mais je pense que ce n'est pas efficace comme « Rails ». Pourrais-je diviser mon tableau en 4 tableaux différents de 6? J'essaye de trouver la meilleure approche à ceci et j'espérais que vous pourriez aider.
En fin de compte j'ai besoin de sortir quelque chose comme ceci:
<!--
I have 24 items in my array, and I need to wrap every 6 inside a div.
-->
<div class="section">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="section">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="section">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class="section">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Merci à l'avance!
Beaucoup plus propre que les solutions ci-dessus et très lisible –
Il est aussi probablement bon de faire un <% sauf item.nil? %> vous ne disposez pas d'un ensemble de données parfait. C'est exactement ce dont j'avais besoin, merci! – Garrett