데이터베이스에는 항상 3 개의 테이블이 있어야합니다. 당신이 말한대로 recipes
steps
과 recipe_steps
그런 다음 두 가지 솔루션을 사용할 수 있습니다. 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
두 번째 : 당신이 recipe_steps
테이블의 데이터를 관리하지 않는 경우
class Recipe
has_and_belongs_to_many :steps
end
class Step
has_and_belongs_to_many :recipes
end
당신은 두 번째 솔루션을 사용합니다. 그러나이 표에 정보 (예 : 가격 또는 수량)를 추가하려면 첫 번째 솔루션을 사용해야합니다.
모든 경우에 3 개의 테이블을 만들어야합니다.
더 많은 정보는 이곳에서 찾을 수 있습니다 :이 도움
감사 큐 프라에게 희망 http://guides.rubyonrails.org/association_basics.html
을 : 그것은 도움이되었다. 나는 내가 분명히 할 필요가 있다고 생각하지만, 각 조리법에는 기본적으로 일대 다 관계의 여러 단계가있다. 이 경우에도 3 개의 테이블이 필요합니까? – abhilash
일대 다 관계의 경우 3 개의 테이블이 필요하지 않습니다. 하나의 릴레이션을 가진 모델에 대해'belongs_to'와 다른 모델에 대해'has_many'를 가진 두 개의 테이블을 갖게 될 것입니다. 여기에서 자세한 정보를 얻을 수 있습니다 : http://guides.rubyonrails.org/association_basics.html –
넵 감사합니다. Cupra. 도움을 감사하십시오. 나는 당신이 제안한 것과 똑같이하고 있으며, 내가하고있는 일을 확신하고 싶다. 다시 한번 감사드립니다. – abhilash