如何以特定顺序显示查询记录

时间:2012-12-03 16:49:36

标签: ruby-on-rails ruby-on-rails-3

我在TopicChapter之间有HABTM关系现在我想在主题下按特定顺序显示章节。

对于Eg:特定章节可能是一个主题下的第2章,也可能是另一个主题下的第8章。

我该怎么办?提前谢谢。

1 个答案:

答案 0 :(得分:2)

在这种情况下,您有一个非平凡的多对多关系,连接表需要包含的不仅仅是每个主表的外键。

因此,您需要在主题和章节上从HABTM转移到has_many :through,并将连接表更改为自己的模型,不仅将两个主表相互关联,而且还将订单存储在一个列中(顺便说一句,你应该名称“order”,因为它会混淆SQL和Rails: - )。

从标准Rails转换HABTM模型非常简单,但有一点建议:想想它曾经只是一个连接表的真实模型......并将其用作新的名称模型(和相关的新表)。在简单的HABTM中,您将创建一个表chapters_topics,当它成为模型时,它可能是“ChapterTopic”(产生表chapter_topics)。