On 10/30/07, Diego Algorta Casamayou <[EMAIL PROTECTED]> wrote:
> 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".

class Location < ActiveRecord::Base
  def self.with_academic_programs
    find(:all, :conditions => ['EXISTS(SELECT 1 FROM academic_programs
WHERE location_id = ? LIMIT 1)', self])
  end
end

Es un horror?
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a