与同一模型的关联

我有两个模型'Product'和'Variant',产品有很多变体,现在我必须设置一个名为“Ingridient”的变体的新模型的关联,Variant有很多种ingridients.but在ingridents我想表明它再次HAS_ONE产品和variant.for例如与同一模型的关联

class Variant 

has_many :ingridients

belongs_to :product

end

class Ingridient

belongs_to :variant

belongs_to :product

end

现在我ingrident模型我也想在同一time.how HAS_ONE变种和HAS_ONE产品应设置我的协会。我知道与同一个表的多个关联,但不知道如何在我的应用程序中实现它。使用mongoid作为我的数据库。

编辑:其实在我的流程用户可以创建一个产品有很多变种,然后每个变种可以有多个ingridients.In.In每个ingrident我有选择产品和变种形式数据库的选择框.means ingridients将包括产品a变量,数量等字段。为了使它更清晰Iam制作食谱 。

回答:

我不是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

我希望这有助于

以上是 与同一模型的关联 的全部内容, 来源链接: utcz.com/qa/261403.html

回到顶部