Estimados Rubyists!!

Les presento el problema. A continuación los modelos que forman parte de mi app:

Worker
Skill
Subcategory
Category

Una categoría puede tener muchos workers a través de skills y
subcategories, y un worker puede a su vez, pertenecer a más de una
categoría siguiendo la misma lógica.
Lo que quiero hacer, es filtrar workers que pertenezcan a ciertas
categorías y agruparlas en un Hash, como esto:
[<#Category1>] => [<#Worker1>, <#Worker2, .... ].

Lo que pude hacer, es filtrar workers por categorías de la siguiente forma:
Worker.all(:joins => { :skills => :subcategory}, :conditions =>
['subcategories.category_id IN (?)', 1])

Se les ocurre como debería hacer la agrupación por categoría?
Lamentablemente con el código de arriba, si encadeno un método
group_by o lo que fuera, lo estaría trabajando sobre un array de
objetos del tipo Worker y no dispondría del category_id que se obtiene
al hacer el join (y en lo posible quisiera evitar cosas como
find_by_sql).

Desde ya,
Muchas gracias!
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a