How to force AR belongs_to include option to eager load?


I have two classes

class SolarSystem < ActiveRecord::Base   has_many :fow_ss_entries, :dependent => :delete_all

class FowSsEntry < ActiveRecord::Base   belongs_to :galaxy   belongs_to :solar_system   belongs_to :player

  named_scope :for, { |galaxy, player|     galaxy = if galaxy.is_a? Galaxy     player = if player.is_a? Player

    {       :conditions => {:galaxy_id => galaxy, :player_id => player},       :include => :solar_system     }   }

Now the evil thing is, that even thou' :include is specified, it does nothing. New AR eager loading resorts to doing n+1 sql queries in FowSsEntry.for(1,1).each { |fse| fse.solar_system }

How do I force it into joining my table, without impacting my SQL performance?

Is the issue the fact that :include does not always trigger a join based strategy ? What are the actual sql queries you see?


Is there a method for forcing a join-based strategy?