我有两个型号产品和product_category产品包含或映射多个产品类别,反之亦然。它通过多对多关系维护,其中有另一个名为products_in_category的模型。我使用Active Admin进行后端和CRUD目的,现在我需要在Active Admin的Product index页面中显示多个product_categories。任何建议或帮助对我来说都很棒。
#app/models/product.rb
class Product < ApplicationRecord
has_many :products_in_categories
has_many :product_categories, through: :products_in_categories, dependent: :destroy
accepts_nested_attributes_for :product_categories
end
#app/models/product_category.rb
class ProductCategory < ApplicationRecord
has_many :products_in_categories
has_many :products, through: :products_in_categories, dependent: :destroy
accepts_nested_attributes_for :products
accepts_nested_attributes_for :products_in_categories
end
#app/models/products_in_category.rb
class ProductsInCategory < ApplicationRecord
belongs_to :product_category
belongs_to :product
end
您可以在列中列出类别名称(只需将name
与实际属性一起更改):
index do
# other columns goes here
column('Categories') { |p| p. product_categories.pluck(:name).join(', ') }
end