问题
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.
回答1:
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
来源:https://stackoverflow.com/questions/499934/how-would-you-model-articles-with-references-and-citations-in-rails-activereco