2012-12-03 2 views
2

TopicChapter 사이에 HABTM 관계가 있습니다. 이제 주제 아래에 특정 순서로 장을 표시하려고합니다.쿼리 된 레코드를 특정 순서로 표시하는 방법

예 : 특정 챕터는 한 챕터의 두 번째 챕터 일 수 있으며 다른 챕터의 8 번째 챕터 일 수 있습니다.

어떻게해야합니까? 미리 감사드립니다.

답변

2

이 경우 사용자는 다 대다 관계를 가지므로 조인 테이블에 각 주 테이블에 대한 외래 키 이상을 포함해야합니다.

결과적으로 HABTM에서 주제 및 챕터 모두에 대해 has_many :through으로 이동하고 조인 테이블을 두 주 테이블을 서로 관련시키는 것 외에도 고유 한 모델로 변경하려는 것입니다. 순서대로 열을 주문하십시오. (그런데 이 아닌의 이름은 "order"입니다. SQL과 Rails를 혼동 할 것이기 때문에 :-).

표준 Rails HABTM 모델에서 변환하는 것은 매우 쉽지만 한 가지 조언이 있습니다. 바로 이것이 결합 테이블이었던 것을 실제 모델로 만드는 것입니다.이를 실제 모델의 이름으로 사용하십시오. 새 모델 (및 연관된 새 테이블). 간단한 HABTM에서 테이블 chapters_topics을 만들면 모델이 될 때 "ChapterTopic"이 될 수 있습니다 (테이블 chapter_topics이됩니다).

+0

정확 하 게, 내가 뭘 찾고 있었는지 많이 감사합니다 :) –

관련 문제