Topic
我在和之间有 HABTM 关系Chapter
现在我想在主题下按特定顺序显示章节。
例如:特定章节可能是一个主题下的第 2 章,也可能是另一个主题下的第 8 章。
我应该怎么做?提前致谢。
Topic
我在和之间有 HABTM 关系Chapter
现在我想在主题下按特定顺序显示章节。
例如:特定章节可能是一个主题下的第 2 章,也可能是另一个主题下的第 8 章。
我应该怎么做?提前致谢。
在这种情况下,您有一个重要的多对多关系,连接表需要包含的不仅仅是每个主表的外键。
因此,您需要从 HABTM 移至has_many :through
Topic 和 Chapter,并将连接表更改为自己的模型,不仅将两个主表相互关联,而且将顺序存储在列中 (顺便说一句,你不应该命名“订单”,因为它会混淆 SQL 和 Rails :-)。
从标准 Rails HABTM 模型转换非常容易,但有一点建议:想想是什么让过去只是一个连接表成为真正的模型......并将其用作新模型的名称(以及关联的新表)。在一个简单的 HABTM 中,您将创建一个 table chapters_topics
,当它成为一个模型时,它可能是“ChapterTopic”(产生一个 table chapter_topics
)。