An article has many articles that it refers to and many other articles can refer to it. Sometimes an article can refer to an article that also refers to it.
views:
93answers:
1
                +3 
                A: 
                
                
              
            I'd do it like this:
class Article < ActiveRecord::Base
  # mentions in other articles
  has_many :references, :foreign_key => 'referred_article_id'
  # articles that refer to it
  has_many :referrers, :through => :references, :foreign_key => 'referred_article_id'
  # articles it refers to
  has_many :referred_articles, :through => :references, :foreign_key => 'referrer_id'
end
class Reference < ActiveRecord::Base
  belongs_to :referrer, :class => Article
  belongs_to :referred_article, :class => Article
end
                  Milan Novota
                   2009-02-01 01:20:04