I'm having a senior moment. I've done this before but I can't remember how.
Two active record models,
Foo belongs_to Bar
Bar has_many Foos
I want to find all Bars that have at least one Foo, is it:
Bar.all(:include => :foos, :conditions => "foo.id IS NOT NULL')
or something else?
Doesn't...
Bar.all(:joins => :foos).uniq
...do the job?
Bar.all(:joins => :foos).uniq
Seems to... quick and dirty test on one of my models:
Person.all(:include => :graduations).select { |person| !person.graduations.empty? }.size
=> 87
Person.all(:include => :graduations).select { |person| person.graduations.size > 0 }.size
=> 87
Person.all(:joins => :graduations).size
=> 103
Person.all(:joins => :graduations).uniq.size
=> 87