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