variable rails for elif html ruby-on-rails ruby loops erb

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)