식당, 메뉴, 섹션 및 요리와 같은 4 가지 상호 연관된 모델이 있습니다. 접시 have_and_belong_to_many
섹션과 궁극적으로 협회 체인의 맨 아래에 있습니다. 내 응용 프로그램에서 나는 종종 접시의 식당을 여러 번 참조해야합니다.여러 HMT 연관성 대 최상위 수준의 연관성
저는 이것을 달성하기 위해 HMT 연관의 계단식을 만들어야한다고 알고 있습니다. 제 질문은 여러 가지 쿼리를 피하거나 그대로두기 위해 식당과 접시 사이에 belongs_to
관계를 설정하는 것이 이상적입니까? 현재로서는 이것은 단지 더러워졌습니다 (단지 나일지도 모름).
class Restaurant < ApplicationRecord
has_many :menus, dependent: :destroy
has_many :dishes, through: :menus
end
class Menu < ApplicationRecord
has_many :sections, dependent: :destroy
has_many :dishes, through: :sections
belongs_to :restaurant
end
class Section < ApplicationRecord
belongs_to :menu
has_and_belongs_to_many :dishes
end
class Dish < ApplicationRecord
has_and_belongs_to_many :sections
end
당신이있는 거 점을 코드를 작성하는 그 섹션의 메뉴가 날이 속한 레스토랑 접시는 같은 레스토랑에 속한다는 것을 확인하기 위해 HABTM 협회에 지금 질문하기 시작했습니다. –
나는 HABTM 섹션을 요리하는 것을 눈치 채지 못했습니다. 그것은 내가 묘사 한 대표단이 접시마다 고유 한 부분을 가정하기 때문에 실패 할 것입니다. – hoffm
이 경우 비정규 화가 붙어 있습니까? –