gpt4 book ai didi

ruby-on-rails - 在 self 参照模型中获得 parent

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

基于 http://guides.rubyonrails.org/association_basics.html#self-joins

我创建了一个名为 Category 的自连接模型

rails g model Category name parent_id:integer

我修改了模型 category.rb 如下

Class Category < ActiveRecord::Base
has_many :sub_categories, class_name: "Category", foreign_key: "parent_id"
belongs_to :parent_category, class_name: "Category"
end

现在在控制台中,我正在创建两条类别记录

a = Category.create(name: "Animal")
b = Category.create(name: "Dog")

a.sub_categories << b
a.save

现在

a.sub_categories # returns Dog

但是

b.parent_category # returns nil

如何让 parent_category 正确返回单亲记录?

另外,如果我执行 b.parent_category = a

出现以下错误

ActiveModel::MissingAttributeError: can't write unknown attribute 'parent_category_id'

最佳答案

需要修改关联parent_category。

在那里你必须指定外键。

belongs_to :parent_category, class_name: "Category", foreign_key: 'parent_id'

关于ruby-on-rails - 在 self 参照模型中获得 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18169204/

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