self-joins are discussed here:
http://guides.rubyonrails.org/association_basics.html#self-joins
self-referential association is discussed here:
http://railscasts.com/episodes/163-self-referential-association
The main difference I see is that self-referential association creates a
join model, such as friendship, which links another model, such as user,
to
itself, so a user can have many friends (which are other users), and a
friend can be befriended by a user. The self-joins looks like there is
no
join model. Simply a foreign key is added to the same model, such as a
manager_id column to the employee model. An employee, who is a manager,
can
have many other employees, who are subordinates. And the link is done on
the same table itself, association the employee manager_id column with
the
the employee id column. To me, these two techniques look virtually the
same. Is there a difference and which is preferred?