title: Many-to-many self join in rails?
body: <p>Rails documentation provides a <a href="http://guides.rubyonrails.org/association_basics.html#self-joins" rel="nofollow">nice explanation</a> of how to handle a self join where only a has_many-belongs_to relationship is required. In the example, an employee (as a manager) can have many employees (each, as a subordinate). </p>
  
  <p>However, how do you handle a has_many-has_many self join (which I've heard referred to as a bi-directional looped association)? </p>
  
  <p>For example, how do you handle the situation in which an employee can have many subordinates, in its capacity as manager, and <strong>also</strong> have many managers, in its capacity as subordinate?</p>
  
  <p>Or, in other words, where a user can follow many users and be followed by many users? </p>