我正在开发一个使用ruby on rails的电子商店应用程序,我对模型关联有点困惑。如果有人能给我一个关于表格及其关联的想法,这对我有帮助。以下是详细信息:
父表: =>分类, 场合, 热门优惠
在类别下: =>男性, 女性, 儿童
男士: =>衬衫, 裤
在女性之下: =>衬衫, 长裤, 裙
在孩子们之下: =>衬衫, 裤
在场合下 =>族裔, 派对, 旅行, 休闲, 正式
根据特价促销 =>热卖指数
最后,每个最后一个子表都有产品索引。
谢谢!
答案 0 :(得分:0)
您通常会对此类内容进行操作,即构建与产品相关联的分类树,以便将产品组合在一起。分类和产品之间的多对多关系让您将产品与多个组相关联,因此T恤可能属于分类>男士>衬衫以及场合>随意。
# app/models/taxonomy.rb
class Taxonomy < ActiveRecord::Base
has_many :taxonomies
has_and_belongs_to_many :products
end
# app/models/product.rb
class Product < ActiveRecord::Base
has_and_belongs_to_many :taxonomies
end
然后在分类/产品
之间迁移连接表rails g migration create_products_taxonomies
并编辑
def change
create_table(:products_taxonomies, :id => false) do |t|
t.references :product
t.references :taxonomy
end
end
从那里你基本上会在数据库中创建3个Taxons,每个部分创建1个,然后创建分类法并构建子级别。在创建产品时,请为产品和集合分配正确的分类标准。
种子文件可能看起来像......
Taxonomy.create!(:name => "Category").tap do |category|
category.taxonomies.create!(:name => "Men").tap do |men|
men.taxonomies.create!(:name => "Shirt")
men.taxonomies.create!(:name => "Trousers")
end
# and so on for each category
end
然后,当您创建产品时,您可以将其与分类法关联,并使用该分类法来提取与其关联的产品列表。