title: Please explain the has_many, through: source: Rails Association
body: <p>I've found a bunch of articles, stackoverflow answers and rails documentation about 'source:', but none of it explains this association in a way I can understand it. I need the most simplified explanation of this way of associating, if possible.</p>
  
  <p>My example is this:</p>
  
  <p>Album:</p>
  
  <pre><code>    has_many :reviews, :dependent =&gt; :destroy
      has_many :reviewers, through: :reviews, source: :user
      belongs_to :user
  </code></pre>
  
  <p>Review:</p>
  
  <pre><code>    belongs_to :album, optional: true
      belongs_to :user
  </code></pre>
  
  <p>User:</p>
  
  <pre><code>    has_many :reviews
      has_many :reviewed_albums, through: :reviews, source: :album
      has_many :albums
  </code></pre>
  
  <p>The rest of the code does not mention "reviewers" or "reviewed_albums", so that is the part I understand the least.</p>
  
  <p>Are those names completely irrelevant?</p>