Joining multiple tables ActiveRecord

I have 3 tables as such:

Products (has many product_overruns, has many services) *id

Product_Overruns (belongs to product) *product_id

Services (Active Product) (belongs to product) * product_id

I'd like to retrieve those services whose products have overruns defined for them, and can do so by joining them with sql (no inner join) to restrict the result sets to only those that have entries in all 3.

When I try to create a named_scope in the Service class as such:

  named_scope :has_overruns, { :joins => [ :product, :product_overrun ] }

.. it blows up with "ActiveRecord::ConfigurationError: Association named 'product_overrun' was not found; perhaps you misspelled it?"

"has_many :product_overruns, :through => :products" in the Service class has no effect.

I've got a work-around using find_by_sql to get the ids of the desired services, but not exactly elegant.

Thanks.

The syntax for a nested join is the same as the syntax for a nested include, in this case :joins => {:product => :product_overruns}. I've got some more example of the syntax expected at

Fred

Thanks Fred.