title: Combine STI and polymorphic with rails 4
body: <p>I'm running with some issues trying to combine STI and polymorphic associations with the following structure :</p>
  
  <pre><code>class User &lt; ActiveRecord::Base
  end
  
  class Runner &lt; User
    has_many :subscriptions, as: :subscriber, :dependent =&gt; :destroy
    has_many :areas, through: :subscriptions
  end
  
  class Trainer &lt; Runner
  end
  
  class Subscription &lt; ActiveRecord::Base
    belongs_to :subscriber, polymorphic: true
    belongs_to :area
  end
  
  class Area
  end
  </code></pre>
  
  <p>When I try in the console :</p>
  
  <p>Runner.find(2101).areas</p>
  
  <pre><code>SELECT "areas".* FROM "areas" INNER JOIN "subscriptions" ON "areas"."id" = 
  "subscriptions"."area_id" WHERE "subscriptions"."subscriber_id" = $1 AND 
  "subscriptions"."subscriber_type" = $2  [["subscriber_id", 2101], ["subscriber_type", 
  "User"]]
   =&gt; #&lt;ActiveRecord::Associations::CollectionProxy []&gt; 
  </code></pre>
  
  <p>However there is a record with this runner :</p>
  
  <pre><code> #&lt;Subscription id: 3, area_id: 2, subscriber_id: 2101, subscriber_type: "Runner", primary_area: true&gt;
  </code></pre>
  
  <p>But I don't understand why active record is looking for a User and not a Runner.</p>
  
  <p>Any idea why ? or better design ?</p>