如何对 rails 4 日期时间列进行排序
How to sort a rails 4 datetime column
我对如何排序有些困惑。我什至不确定要开始。我应该将排序代码放入带有范围的模型中,还是应该将其放入控制器中。
我有一份 class 学期的列表。我想首先按最近的日期对这个列表进行排序,然后是 class 开始的时间。我已经弄清楚如何使用以下方法按字母顺序和开始时间对其他列进行排序:
Appointment.order("start")
然而,当我使用这段代码时,它正在对它进行排序,而不是我期望的那样。月份不是按时间顺序排列的,时间也不是。那么为什么要重新排列数据呢?如何正确排序此列?
我建议您将排序逻辑放在 model
中,作为您经常使用的排序逻辑的默认范围,例如按 created_at
:
排序
default_scope {order('created_at DESC')}
对于你的情况,如果顺序相反,试试这个:
Appointment.order(start: :desc)
我希望这有用。
我想我已经修好了。我不太确定哪里出了问题...
会不会是我加载测试夹具的方式?我原来有:
February-16-2015 09:30
我把它改成这样:
2015-02-25 17:30:00
会不会是这个时间格式的问题?
我对如何排序有些困惑。我什至不确定要开始。我应该将排序代码放入带有范围的模型中,还是应该将其放入控制器中。
我有一份 class 学期的列表。我想首先按最近的日期对这个列表进行排序,然后是 class 开始的时间。我已经弄清楚如何使用以下方法按字母顺序和开始时间对其他列进行排序:
Appointment.order("start")
然而,当我使用这段代码时,它正在对它进行排序,而不是我期望的那样。月份不是按时间顺序排列的,时间也不是。那么为什么要重新排列数据呢?如何正确排序此列?
我建议您将排序逻辑放在 model
中,作为您经常使用的排序逻辑的默认范围,例如按 created_at
:
default_scope {order('created_at DESC')}
对于你的情况,如果顺序相反,试试这个:
Appointment.order(start: :desc)
我希望这有用。
我想我已经修好了。我不太确定哪里出了问题...
会不会是我加载测试夹具的方式?我原来有:
February-16-2015 09:30
我把它改成这样:
2015-02-25 17:30:00
会不会是这个时间格式的问题?