El 30 de julio de 2010 21:44, Fernando Parra <[email protected]>escribió:
> 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
Pasate un pastie con los 4 modelos (la parte de las relaciones :belongs_to,
:has_many, :has_one, etc).
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar