0

콘텐츠 기반 (뉴스, 질문) 및 "무언가"기반 (장치, 응용 프로그램 등)의 두 그룹으로 구성된 응용 프로그램이 있습니다. 그룹간에 모든 모델을 연결해야합니다. 예를 들어 질문은 3 개의 다른 항목 (하나의 응용 프로그램과 2 개의 장치)에 속할 수 있습니다. 뉴스에 대해서도 마찬가지입니다. 다른 측면에서 - 나는 모든 뉴스 기사 및 일부 응용 프로그램이나 장치와 관련된 질문을 볼 필요가 있습니다.양방향 habtm 연결

레일에서 어떻게 개발할 수 있습니까? 하나의 아이디어 - 모델에 content_id 및 thing_id 메소드를 추가하고 테이블을 조인 할 mixins 만 있습니다.

답변

1

당신은 thing_id, thing_class, content_id, content_class를 조인 테이블에서만 사용하고 조건으로 검색하면 habtm이 불가능할 수 있습니다. "2, '고안', '페이지', 2" "2, '고안', '광고', 4" "2, 'AnotherThing', '페이지', 2"

그리고 모든 가져 오기 id = self.id AND thing_class = self.class.name AND contant_class = Page.class.name

habtm 연관을 사용해야하는 경우, STI + 1 : 1 연관을 사용할 수 있습니다. 하지만 그건 더 이상 물건을 엉망이 될 것입니다