title: :has_many :through associations wtihout convention names?
body: <pre><code>create_table "friendships", :force =&gt; true do |t|
      t.integer  "user_id"
      t.integer  "friend_id"
      t.datetime "created_at"
      t.datetime "updated_at"
    end
  
    create_table "likes", :force =&gt; true do |t|
      t.string   "name"
      t.integer  "user_id"
      t.datetime "created_at"
      t.datetime "updated_at"
    end
  
    create_table "users", :force =&gt; true do |t|
      t.string   "name"
      t.datetime "created_at"
      t.datetime "updated_at"
    end
  </code></pre>
  
  <p>And these are the models</p>
  
  <pre><code>class User &lt; ActiveRecord::Base
  
      has_many :friendships
      has_many :friends, :through =&gt; :friendships
      has_many :likes
      has_many :friends_likes, :through =&gt; :friendships, :source =&gt; :likes
  
  end
  
  class Friendship &lt; ActiveRecord::Base
  
      belongs_to :user
      belongs_to :friend, :class_name =&gt; "User", :foreign_key =&gt; "friend_id"
      has_many :likes, :foreign_key =&gt; :user_id, 
  end
  
  class Like &lt; ActiveRecord::Base
  
      belongs_to :user
      belongs_to :friendship
  
  end
  </code></pre>
  
  <p>I'm trying to get "likes of friends" but i can't.</p>
  
  <p>"User.find(1).friends_likes" gives that sql query</p>
  
  <pre><code>SELECT "likes".* FROM "likes" INNER JOIN "friendships" ON "likes".user_id = "friendships".id WHERE (("friendships".user_id = 1))
  </code></pre>
  
  <p>but i think that has to be "INNER JOIN "friendships" ON "likes".user_id = "friendships".<strong>friend_id</strong>"</p>
  
  <p>how can i do that?
  thanks</p>