This problem has stumped me for a long time. I figured it was time to seek expert advice! Say you have the following models: class Part < ActiveRecord::Base has_and_belongs_to_many :model_applications end class ModelApplication < ActiveRecord::Base belongs_to :model has_and_belongs_to_many :parts end class Model < ActiveRecord::Base belongs_to :make end class Make < ActiveRecord::Base has_many :models end The problem I''m having is I''d like to LEFT JOIN :model, and :make in addition to :model_applications. For example: @parts = Part.find(:all, :include => [ :model_applications, :model, :make ]) It seems like :include only works on directly related tables (eg. :model_applications is directly related to :parts).