title: Rails ActiveRecord::find Join statement issue
body: <p>Why does the following rails statement</p>
  
  <pre><code>User.find(:all, :joins =&gt; [:roles,:roles_users], 
            :conditions =&gt; { :roles =&gt; { :name =&gt; 'subscriber', 
                                         :authorizable_id =&gt; self.id, 
                                         :authorizable_type =&gt; self.class.to_s }})
  </code></pre>
  
  <p>Translates into this (with 2x the same join)</p>
  
  <pre><code>SELECT "users".* FROM "users" 
      JOIN "roles_users" ON ("users"."id" = "roles_users"."user_id") 
      JOIN "roles" ON ("roles"."id" = "roles_users"."role_id") 
      JOIN "roles_users" roles_users_users ON roles_users_users.user_id = users.id 
    WHERE ("roles"."authorizable_id" = 4 AND "roles"."name" = 'subscriber' AND "roles"."authorizable_type" = 'Howto') 
  </code></pre>
  
  <p>Just curious.</p>