ruby-on-rails - que - ruby on rails tutorial pdf
La manera más rápida de verificar si en la primera iteración de un ciclo cada uno en Ruby/Rails (2)
En mi .erb
, tengo un simple each
bucle:
<%= @user.settings.each do |s| %>
..
<% end %>
¿Cuál es la forma más sencilla de comprobar si actualmente está pasando por su primera iteración? Sé que podría establecer i=0...i++
pero eso es demasiado complicado dentro de un .erb
. ¿Alguna sugerencia?
Depende del tamaño de tu matriz. Si es realmente enorme , debe .shift
el primer elemento de la matriz, tratarlo y luego mostrar la colección:
<% user_settings = @user_settings %>
<% first_setting = user_settings.shift %>
# do you stuff with the first element
<%= user_settings.each do |s| %>
# ...
O puede usar .each_with_index
:
<%= @user.settings.each_with_index do |s, i| %>
<% if i == 0 %>
# first element
<% end %>
# ...
<% end %>
La forma más legible que encuentro es la siguiente:
<%= @user.settings.each do |s| %>
<% if @user.settings.first == s %>
<% # Your desired stuff %>
<% end %>
<% end %>