私はレールに不慣れで、非常に基本的な質問があります。
モデルを作成している間、例えば。レシピとその手順を保存する必要があります。ここで、レシピテーブル、ステップテーブル、recipe_stepsテーブルを作成する必要がありますか、それともレシピ、ステップテーブルを作成し、レシピのモデルにhas_many:stepsを定義する必要がありますか?
どんな助けでも素晴らしいでしょう。
どうもありがとう
私はレールに不慣れで、非常に基本的な質問があります。
モデルを作成している間、例えば。レシピとその手順を保存する必要があります。ここで、レシピテーブル、ステップテーブル、recipe_stepsテーブルを作成する必要がありますか、それともレシピ、ステップテーブルを作成し、レシピのモデルにhas_many:stepsを定義する必要がありますか?
どんな助けでも素晴らしいでしょう。
どうもありがとう
データベースには常に 3 つのテーブルが必要です。あなたが言ったようrecipes
steps
に、そしてrecipe_steps
次に、モデルには 2 つのソリューションがあります。3つのモデルを持つ最初のもの:
class Recipe
has_many :recipe_steps
has_many :steps, through: :recipe_steps
end
class Step
has_many :recipe_steps
has_many :recipes, through: :recipe_steps
end
class RecipeStep
belongs_to :step
belongs_to :recipe
end
2 つのモデルのみの 2 つ目:
class Recipe
has_and_belongs_to_many :steps
end
class Step
has_and_belongs_to_many :recipes
end
テーブル内のデータを管理したくない場合は、2 番目のソリューションを使用しrecipe_steps
ます。ただし、このテーブルに情報 (価格や数量など) を追加する場合は、最初のソリューションを使用する必要があります。
いずれの場合も、3 つのテーブルを作成する必要があります。
詳細については、http : //guides.rubyonrails.org/association_basics.htmlを参照してください。
この助けを願っています