Foros del Web » Programando para Internet » Ruby »

[SOLUCIONADO] Contar total de registros belong_to

Estas en el tema de Contar total de registros belong_to en el foro de Ruby en Foros del Web. Hola amigos, Bueno les cuento tengo un modelo de Companies y otro de Users, un usuario pertenece a una compañia. Usando esto en mi controlador ...
  #1 (permalink)  
Antiguo 19/01/2014, 12:09
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 18 años, 2 meses
Puntos: 22
Pregunta Contar total de registros belong_to

Hola amigos,

Bueno les cuento tengo un modelo de Companies y otro de Users, un usuario pertenece a una compañia.

Usando esto en mi controlador

Código:
@companies = Company.paginate(:page => params[:page], :per_page => 20).order('created_at DESC')
listo mi compañia y creo una tabla para verlas, pero quiero poner un campo en dicha tabla que me diga cuantos usuarios pertenecen a cada compañía.

Gracias
  #2 (permalink)  
Antiguo 19/01/2014, 12:45
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 18 años, 2 meses
Puntos: 22
Respuesta: Contar total de registros belong_to

Me respondo a mi mismo por si alguien lo necesita:

Código:
 <% @companies.each do |company| %>
 <%= company.name %> <%= company.users.count %>
<% end %>
  #3 (permalink)  
Antiguo 19/01/2014, 21:46
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 9 meses
Puntos: 137
Respuesta: Contar total de registros belong_to

eso hace un COUNT en SQL lo cual no es muy eficiente cuando hay muchos registros, te recomiendo que uses el cache counter de belogs_to -> http://guides.rubyonrails.org/associ...#counter-cache

Un saludo!
__________________
>> abimaelmartell.com

Etiquetas: rails
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:01.