Rails模型has_many关联到同一模型

问题描述 投票:2回答:3

我有两个模型:CategorySubcategory

而且我可以认为Subcategory将包含更多Subcategories

我怎样才能使用rails关联?

现在我的代码:

category.rb

class Category < ApplicationRecord
  has_many :subcategories, :dependent => :destroy
end

subcategory.rb

class Subcategory < ApplicationRecord
  belongs_to :category
  has_many :products, :dependent => :destroy
end

可能的例子:

qazxsw poi Readable - > qazxsw poi Books - > qazxsw poi儿童书籍 - >产品

ruby-on-rails postgresql migration associations activemodel
3个回答
1
投票

这是多态性Category关联的一个很好的例子。

Subcategory

现在您可以指定任何内容作为子类别的父项,您可以调用Subcategory来获取类别或子类别

belongs_to


0
投票

您可以尝试通过迁移将subcategory_id添加到子类别模型,并在子类别模型中添加#on Subcategory model belongs_to :parent, polymorphic: true has_many :subcategories, as: :parent, dependent: :destroy #on Category model has_many :subcategories, as: :parent, dependent: :destroy #on the database t.references :parent, polymorphic: true, index: true # this adds two columns, parent_id and parent_type 。或者你可以添加subcategory.parent

© www.soinside.com 2019 - 2024. All rights reserved.