Ruby on rails 如何为自引用多对多关系建模?
我正在尝试设置一个ActiveRecord对象来建模一个关系,其中一个表是自引用的,父到子的,可能有多个父对象和多个子对象 表本身看起来像:Ruby on rails 如何为自引用多对多关系建模?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在尝试设置一个ActiveRecord对象来建模一个关系,其中一个表是自引用的,父到子的,可能有多个父对象和多个子对象 表本身看起来像: create_table :widget do |t| t.string :name ,:string ,:null=>false ,:limit=>100 t.string :url ,:string ,:null=>true
create_table :widget do |t|
t.string :name ,:string ,:null=>false ,:limit=>100
t.string :url ,:string ,:null=>true ,:limit=>100
t.timestamps
end
而rel表将如下所示:
create_table "widget_rels" do |t|
t.integer "parent_id"
t.integer "child_id"
end
但我正在为AR对象对关系的定义而挣扎
看起来像“”或“”,但不确定自引用部分如何影响内容
非常感谢您的指导 不能100%确定它是否有效,但您可以尝试以下方法: widget.rb
has_and_belong_to_many :parents, :class_name => "Widget", through: :widget_rels, :foreign_key => 'parent_id'
has_and_belong_to_many :children, :class_name => "Widget", through: :widget_rels, :foreign_key => 'child_id'