Fijate si funciona:

aps_by_locations= AcademicProgram.count(:id, :include => :location, :group => 
:location)

aps_by_locations.keys => [Instancia de Location, Instancia de Location, ...]

aps_by_locations.values => [1, 2, 3, etc...]

Ahora podes hacer

wanted_aps= aps_by_locations.delete_if { |location, ap_quantity| ap_quantity < 
1 }.keys

wanted_aps te devuelve un array de instancias de AcademicProgram que tengan mas 
de una Location.






Diego Algorta Casamayou <[EMAIL PROTECTED]> escribió: Hola amigos.

Tengo (simplificado) estos 2 modelos relacionados así:

class AcademicProgram < ActiveRecord::Base
  belongs_to :location
end

class Location < ActiveRecord::Base
  has_many :academic_programs
end

Ahora debo obtener la colección de instancias de Location que tengan
al menos 1 AcademicProgram. ¿se entiende? Es para mostrar en un
select_tag las locations donde existen academic_programs.

Quisiera saber qué distintas soluciones encuentran, ya sea usando
find_by_sql o mejor, algo más "Rails Way".

-- 
Diego Algorta Casamayou
http://www.oboxodo.com - http://diego.algorta.net
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar


       
---------------------------------

Yahoo! Noticias
Todo lo que tenés que saber sobre Elecciones Presidenciales 2007 encontralo en 
Yahoo! Noticias.
 http://ar.news.yahoo.com/elecciones2007/ 
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a