html - rails - methods on ruby
Bucle en el archivo html.erb de Ruby on Rails (3)
¿Por qué no limitas a los usuarios?
<%= @users.limit(10).each do |user| %>
...
<%end%>
Eso aún usaría ActiveRecord para que obtengas el beneficio de las funciones AR. También puede hacer una serie de cosas, tales como:
@users.first(10)
o @users.last(10)
Todos soy nuevo con Ruby on Rails y necesito entender algo. Tengo una variable de instancia (@users) y necesito recorrerla dentro de un archivo html.erb un número limitado de veces. Ya he usado esto:
<% @users.each do |users| %>
<%= do something %>
<%end %>
Pero necesito limitarlo a, digamos, 10 veces. ¿Que puedo hacer?
Podrías hacerlo
<% for i in 0..9 do %>
<%= @users[i].name %>
<% end %>
Pero si solo necesita 10 usuarios en la vista, puede limitarlo en el controlador.
@users = User.limit(10)
Si @users
tiene más elementos de los que desea recorrer en bucle, puede usar first
o slice
:
Utilizando first
<% @users.first(10).each do |users| %>
<%= do something %>
<% end %>
Usando slice
<% @users.slice(0, 10).each do |users| %>
<%= do something %>
<% end %>
Sin embargo, si realmente no necesita el resto de los usuarios en la matriz @users, solo debe cargar tantos como necesite:
@users = User.limit(10)