title: Rails arel query for matching multiple habtm records
body: <p>I have a setup as follows,</p>
  
  <pre><code>Post
  - has_and_belongs_to_many :tags
  
  Tag
  - has_and_belongs_to_many :posts
  </code></pre>
  
  <p><strong>THE PROBLEM:</strong></p>
  
  <blockquote>
    <p>I want to find all the posts which have <code>social</code>, <code>informative</code> tags
    in it, I can also use their ID's suppose <code>1</code> and <code>2</code>. Using arel or ActiveRecord or plain SQL. </p>
  </blockquote>
  
  <p>I can find <code>posts</code> having <code>any</code> tags using:
  <code>post_tags[:tag_id].in([1, 2])</code></p>
  
  <p>I can find <code>posts</code> having <code>none</code> tags using:
  <code>post_tags[:tag_id].not_in([1, 2])</code></p>
  
  <p>But I can't do: 
  <code>post_tags[:tag_id].in_all([1, 2])</code>
  that's because one record cannot match all the tag ID's ever.</p>
  
  <p>How could I do this?</p>