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