鉴于我有一个存储电影的模型,那么指定电影续集和前传等关系的最佳方法是什么?
我想使用简单的访问器来访问这些关系,例如movie.sequels
(这将返回一个有序的电影续集列表movie
)和move.prequels
.
我考虑过使用has_many :through
与辅助模型的关系,但我将如何维护电影序列?
还是完全有更好的方法?
鉴于我有一个存储电影的模型,那么指定电影续集和前传等关系的最佳方法是什么?
我想使用简单的访问器来访问这些关系,例如movie.sequels
(这将返回一个有序的电影续集列表movie
)和move.prequels
.
我考虑过使用has_many :through
与辅助模型的关系,但我将如何维护电影序列?
还是完全有更好的方法?
一种简单的方法是使用 ActiveRecord 插件,例如acts_as_list
它允许您定义不同项目之间的排序。您需要添加一个字段以用作范围,例如saga
,因此顺序是在属于同一 saga 的电影中定义的。
https://github.com/swanandp/acts_as_list
该插件提供了方便的方法lower_items
,higher_items
并且可以像您正在寻找的sequels
和方法一样工作,prequels