我具有以下关联设置:
class Category < ApplicationRecord
has_many :child_categories
end
class ChildCategory < ApplicationRecord
belongs_to :category
has_many :subcategories
end
class Subcategory < ApplicationRecord
belongs_to :child_category
has_many :child_subcategories
end
class ChildSubcategory < ApplicationRecord
belongs_to :subcategory
end
上述结构的一个示例是:服装(类别)-服装(儿童类别)-男士(子类别)-T恤(儿童子类别)。
我有一个simple form
,我在其中创建产品,并且希望将该产品与collection grouped_select input
中的子子类别相关联。基本上,此输入将是多级的,例如:服装(不能选择此),男装(不能选择此)和T恤衫之后(我将能够选择该输入并将产品与子子类别相关联。)
我对如何填充collection grouped_select input
有点困惑,我只能用以下内容显示子类别和子类别。有什么想法可以显示子类别吗?
@categories = ChildCategory.where(id: params[:category])
<%= f.input :category_id,collection: @categories.order(:name),as: :grouped_select,group_method: :subcategories,include_blank: false,include_hidden: false %>