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