与同一型号的关联

问题描述 投票:0回答:1

我有两个型号'Product'和'Variant',产品有很多变种,现在我必须将一个名为“Ingridient”的新模型与变体联系起来,以便Variant有很多ingridients.but在ingridents中我想要显示它再次has_one产品和变体。例如

 class Variant
  has_many :ingridients
  belongs_to :product
end

class Ingridient
 belongs_to :variant
 belongs_to :product
end

现在在我的ingrident模型中我也同时想要has_one变体和has_one产品。我应该设置我的关联。我知道多个关联同一个表但不知道如何在我的app.Iam中使用mongoid作为我的数据库实现它。

编辑:实际上在我的流程中用户可以创建一个具有多种变体的产品,然后每个变体可以有多个ingridients.In每个ingrident我有选择产品和变体形式数据库的选择框。意味着ingridients将包括产品变量,数量等为了让我更清楚,我做了一个食谱。

ruby-on-rails database associations mongoid
1个回答
0
投票

我不是100%明确你想做什么。

但它看起来像是想要一个具有不同名称的关联。

class Variant
  has_many :ingridients, :foreign_key => 'FieldName', :class_name => 'CassName'
  belongs_to :product, :foreign_key => 'FieldName', :class_name => "CassName"
end

class Ingridient
 belongs_to :variant, :foreign_key => 'FieldName', :class_name => "CassName"
 belongs_to :product, :foreign_key => 'FieldName', :class_name => "CassName"
end

我希望这个对你有用

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