我有一个教师模型,它在视图中显示教师列表,但我希望学校的负责人总是在视图中的顶部,其次是他们的助手,最后是教师。
如何通过表单添加自定义排序?也许有任何 javascript 插件可以在列表中移动或向下移动教师?
我有一个教师模型,它在视图中显示教师列表,但我希望学校的负责人总是在视图中的顶部,其次是他们的助手,最后是教师。
如何通过表单添加自定义排序?也许有任何 javascript 插件可以在列表中移动或向下移动教师?
通常,您可以通过执行以下两个步骤来定义 Ruby 类的实例之间的排序:
include Comparable
在类定义中。<=>
采用单个参数的方法,该参数是该类的另一个实例。如果应该认为接收者 ( self
) 大于另一个对象,则此方法应该返回 1,如果应该认为它更小,则返回 -1,如果它们相等,则返回 0。这不是 ActiveRecord 特定的,但我看不出它为什么不适用于 ActiveRecord 类。
最简单的方法是创建一个“组”属性。所以:
你的校长是小组 => 1
你的助手是小组 => 2
你的老师是小组 => 3
然后,类似的东西Employee.order(:group).order(:last_name)
会按您的组排序,然后按姓氏排序。
要拥有自定义订单,请将其添加为您的次要排序。