gpt4 book ai didi

ruby-on-rails - Rails 与迁移的递归关联

转载 作者:行者123 更新时间:2023-12-04 03:35:05 24 4
gpt4 key购买 nike

我有一个名为 Nodes 的表。每个节点属于同一张表的一个父亲,并且在同一张表上也有一个 child 。这是节点模型:

class Node < ApplicationRecord
belongs_to :parent # I tried using :node instead of :parent
has_one :children # Same than above
end

我怎样才能轻松做到这一点?

最佳答案

我相信你正在寻找的是这样的:

class CreateNodes < ActiveRecord::Migration[5.0]
def change
create_table :nodes do |t|
t.belongs_to :parent,
foreign_key: { to_table: :nodes },
null: true

t.timestamps
end
end
end

class Node < ApplicationRecord
belongs_to :parent, class_name: 'Node', optional: true
has_many :children, class_name: 'Node', foreign_key: 'parent_id'
end

它在节点与其子节点之间建立了一个自引用的一对多关联。

关于ruby-on-rails - Rails 与迁移的递归关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51665437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com