我有一个教师模型,在视图中显示教师名单,但我希望学校的校长将始终在视野中,他们的助手接下来和教师最后。
如何通过表单添加自定义排序? 也许有任何javascript插件可以移动或降低列表中的教师?
答案 0 :(得分:2)
通常,您可以通过执行以下两个步骤来定义Ruby类实例之间的顺序:
include Comparable
在类定义中。<=>
,它接受一个参数,这是该类的另一个实例。如果接收器(self
)应被视为大于另一个对象,则此方法应返回1;如果应将其视为较小,则返回-1;如果它们相等则为0。这不是ActiveRecord特定的,但我认为没有理由不应该为ActiveRecord类工作。
答案 1 :(得分:1)
最简单的方法是创建“组”属性。所以:
你的校长是小组=&gt; 1
你的助手将是group =&gt; 2
你的老师会成为group =&gt; 3
然后,类似Employee.order(:group).order(:last_name)
的内容将由您的群组排序,然后按last_name排序。
要获得自定义订单,请将其添加为辅助排序。