while true times loop for ruby-on-rails ruby loops

ruby on rails - true - Rieles cada etiqueta de inserción de bucle cada 6 elementos?



times ruby (2)

Tengo un número X de objetos de imagen que necesito recorrer en una vista y quiero crear un nuevo div cada 6 objetos más o menos (para una galería).

Miré el ciclo pero parece cambiar cualquier otro registro. ¿Alguien sabe de una forma de insertar código en una vista cada 6 veces?

Probablemente podría hacerlo con bucles anidados, pero estoy un poco perplejo en este caso.


Esta es una pregunta Ruby. Puedes fusionar esto en lo que sea que tu vista esté tratando de hacer.

@list.each_with_index do |item, idx| if((idx + 1) % 6 == 0) # Poop out the div end # Do whatever needs to be done on each iteration here. end


Puede usar Enumerable#each_slice junto con #each para evitar cálculos en línea. each_slice divide la matriz en fragmentos de n, en este caso 6.

<% @images.each_slice(6) do |slice| -%> <div class="gallery"> <% slice.each do |image| -%> <%= image_tag(image.url, :alt => image.alt) %> <% end -%> </div> <% end -%>