Ruby on rails 您将如何在rails&;中使用参考和引用为文章建模;ActiveRecord?

Ruby on rails 您将如何在rails&;中使用参考和引用为文章建模;ActiveRecord?,ruby-on-rails,database-design,activerecord,Ruby On Rails,Database Design,Activerecord,一篇文章有很多文章可以引用,其他很多文章也可以引用。有时一篇文章也可以引用一篇文章。我会这样做: 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 =>

一篇文章有很多文章可以引用,其他很多文章也可以引用。有时一篇文章也可以引用一篇文章。

我会这样做:

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
类文章“引用的\u文章\u id”
#引用它的文章
有多个:referer,:至=>:references,:foreign\u key=>“refered\u article\u id”
#它所指的条款
有很多:引用的文章,:至=>:references,:foreign\u key=>'referer\u id'
结束
类引用文章
属于:引用的文章,:class=>文章
结束