我有两个模型:Category
和Subcategory
而且我可以认为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儿童书籍 - >产品
这是多态性Category
关联的一个很好的例子。
Subcategory
现在您可以指定任何内容作为子类别的父项,您可以调用Subcategory
来获取类别或子类别
belongs_to
您可以尝试通过迁移将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