title: Invalid source reflection macro :has_many :through
body: <p>I have such angry associations: financings >- events >- subprograms >- programs. I want to get acces to last_financings from programs through all of them so code is:</p>
  
  <pre><code>class Fcp &lt; Program
    has_many :fcp_subprograms,
             :foreign_key =&gt; 'parent_id'
    has_many :subprogram_last_actual_financings,
             :through =&gt; :fcp_subprograms,
             :source =&gt; :last_actual_financings
  
  class FcpSubprogram &lt; Program
    belongs_to :fcp,
               :class_name =&gt; 'Fcp',
               :foreign_key =&gt; 'parent_id'
  
    has_many :events,
             :foreign_key =&gt; 'fcp_id'
  
    has_many :last_actual_financings,
             :through =&gt; :events,
             :source =&gt; :last_actual_financings
  
  class Event &lt; ActiveRecord::Base
    belongs_to :fcp,
               :class_name =&gt; 'Fcp',
               :foreign_key =&gt; 'fcp_id'
    belongs_to :fcp_subprogram,
               :class_name =&gt; 'FcpSubprogram',
               :foreign_key =&gt; 'fcp_id'
  
    has_many :last_actual_financings,
             :class_name =&gt; 'ActualFinancing',
             :order =&gt; 'date DESC',
             :limit =&gt; 1
  </code></pre>
  
  <p>So when I want to access to subprogram_last_actual_financings in after_initialize function I get this error</p>
  
  <pre><code>Invalid source reflection macro :has_many :through for has_many :subprogram_last_actual_financings, :through =&gt; :fcp_subprograms.  Use :source to specify the source reflection.
  </code></pre>
  
  <p>but I have :source option in my associations. What am I doing wrong?</p>