我无法按时间排序数据库。我可以让日期工作,但我的其他属性没有。
我的迁移中的时间定义为t.time :start_time
。我一直在检查的其他属性是t.decimal :cost
和t.date :date
。
在我的控制器中:
@event = Event.all.order(:start_time) #should sort by start_time, but doesn't work
@event = Event.all.order(:cost) #should sort by cost, but doesn't
@event = Event.all.order(:date) #sorts the date by ascending order
我的其他属性正在返回正确的值。每个实例都返回2000-01-01 14:00:00 UTC
和40.0
。
我是否缺少.order()?
编辑:看起来时间返回2000-01-01 14:00:00
的日期部分正在阻碍。它排序正确,但我的实际:date
和:time
日期未同步。任何人都有一个解决方案,可以在用户提交表单时将:date
的值传递给:time
日期?也许是通过隐藏的领域?
答案 0 :(得分:2)
删除方法上的all
会返回正确的结果。
@event = Event.order(:cost)