我有一个可能独特的情况,我需要一个模型有两个不同的订单,具体取决于它加入的模型。示例如下:
class Book
acts_as_list :column => :genre, :scope => :genre
acts_as_list :column => :author, :scope => :author
belongs_to :genre
belongs_to :author
end
所以基本上我想做的是有一个 Book 模型,它是两个列表的一部分,一个用于它出现的流派页面,一个用于它出现的作者页面。
acts_as_list
似乎不支持使用 2 个位置列作为方法,例如move_to_top
不允许您指定要移动到顶部的列表。
有没有人对我如何实现这一目标有任何建议?现在我在想我将不得不创建一个连接表,例如books_genres
它有一个position
列,但我真的不太热衷于此,因为这需要大量额外的表。