繁体   English   中英

与多对多的关系

[英]Relationship with many to many

我正在尝试运行一个基本的Rails应用程序,该应用程序有助于从食品列表中捕获每种食品的营养信息。 营养信息按每种成分存储,并计算为各个成分的总和。

这是我到目前为止的内容:

有食物和成分两个模型。 每种食物都有多种成分,每种食物都使用多种成分。 我要解决此问题的方法是,在“食谱”中分配一张表,该表具有“食品”和“食品成分”的pk。 但是我的问题是,食谱可以有很多成分,而成分有很多食谱。 我如何最好地分割这两张桌子,以便捕获食物及其配料表? 还是有更好的方法来完成整件事?

举例来说,食物要有名称,描述,成分要有名称,卡路里,营养成分。

您需要has_many_through关联。

您将像这样组织:

class Food < ActiveRecord::Base
  has_many :recipes
  has_many :ingredients,
    through: :recipes
end

class Ingredient < ActiveRecord::Base
  has_many :recipes
  has_many :foods,
    through: :recipes
end

class Recipe < ActiveRecord::Base
  belongs_to :food
  belongs_to :ingredient
end

这样,您可以在Recipe存储其他信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM