Ich kenne die find_in_batches
Methode für ActiveRecord, aber das erlaubt mir nicht, meine :order
oder :limit
einzustellen.Batch Looping Ein Modell mit Ruby
Ich versuche, meine Daten zu durchlaufen, und für jede 6 Elemente möchte ich sie in eine <div
>.
Ich wurde ganz versuchen ...
<%
i = 0
@media.each do |media|
%>
<% if i%6 %><div class="section"><% end %>
[...]
<% if i%6 %></div><% end %>
<%
i += 1
end
%>
Aber ich fühle mich dies die „Rails“ Art und Weise nicht effizient ist. Könnte ich mein Array möglicherweise in 4 verschiedene Arrays von 6 teilen? Ich versuche den besten Ansatz zu finden und hoffe, dass ihr helfen könnt.
Am Ende muss ich es so etwas kommen:
<!--
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>
Vielen Dank im Voraus!
Viel sauberer als die obigen Lösungen und sehr gut lesbar –
Es ist auch gut, ein <% es sei denn item.nil zu tun? %> falls Sie keine perfekten Daten haben. Genau das habe ich gebraucht, danke! – Garrett