との間にHABTMの関係がTopic
あり、Chapter
トピックの下に特定の順序で章を表示したいと思います。
例:特定のチャプターは、あるトピックの2番目のチャプターであり、別のトピックの8番目のチャプターである場合があります。
どうすればいいですか?前もって感謝します。
との間にHABTMの関係がTopic
あり、Chapter
トピックの下に特定の順序で章を表示したいと思います。
例:特定のチャプターは、あるトピックの2番目のチャプターであり、別のトピックの8番目のチャプターである場合があります。
どうすればいいですか?前もって感謝します。
この場合、自明ではない多対多の関係があり、結合テーブルには、各メインテーブルへの外部キー以上のものが含まれている必要があります。
そのため、HABTMからhas_many :through
トピックとチャプターの両方に移動し、結合テーブルを、2つのメインテーブルを相互に関連付けるだけでなく、順序を列に格納する独自のモデルに変更する必要があります(ちなみに、SQLとRailsを混同するので、「order」という名前を付けないでください:-)。
標準のRailsHABTMモデルからの変換は非常に簡単ですが、ちょっとしたアドバイスがあります。以前は単なる結合テーブルであったものが実際のモデルになる理由を考えて、それを新しいモデルの名前として使用してください(および関連する新しいテーブル)。単純なHABTMでは、テーブルを作成しますchapters_topics
。モデルになると、「ChapterTopic」(結果としてテーブルchapter_topics
)になる可能性があります。