Rails - 正确的模型设置

时间:2012-07-13 22:24:28

标签: ruby-on-rails model installation

我对rails很新,我正在设置我的模型。我的应用程序的某个部分依赖于三个独立的模型。

配方

has_many :recipe_ingredients

配方成分

belongs_to :recipe
has_one :ingredient

成分

#blank right now

这是一个合适的模特组织吗?我将配方成分作为单独模型的原因是因为我想将重量和数量值存储到它。

谢谢,

1 个答案:

答案 0 :(得分:3)

我说这几乎是正确的。唯一的问题是因为RecipeIngredient has_one成分,成分记录必须存储recipe_ingredient_id(参见has_one association),因此单个成分将被绑定到recipe_ingredient(因此相关的配方)。这可以防止您为不同的配方重复使用相同的成分。

相反,请使用以下内容:

配方:

has_many :recipe_ingredients
has_many :ingredients, :through => :recipe_ingredients

RecipeIngredient:

belongs_to :recipe
belongs_to :ingredient

成分:

has_many :recipe_ingredients
has_many :recipes, :through => recipe_ingredients

这在食谱和配料之间建立了多对多的关系,因此可以将配料重复用于多种配方。每种成分的数量将存储在RecipeIngredients中。

如果您需要澄清,请告诉我。

相关问题