1
我无法按时间对数据库进行排序。我可以得到日期工作,但我的其他属性不能。无法在Rails中按时间排序
在我的迁移中,时间定义为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
。
有什么我失踪about .order()?
编辑:它看起来像时间返回2000-01-01 14:00:00
日期部分阻碍。它排序正确,但我的实际:date
和:time
日期未同步。当用户提交表单时,任何人都有解决方案将:date
的值传递给:time
日期?也许通过隐藏的领域?
您是否有某个默认范围?尝试'Event.unscoped.order(:start_time)' – Zippie
任何地方都没有默认范围。当我使用unscoped方法时,它绕过了我有的其他范围,但它仍然没有以正确的顺序返回项目。 – BHOLT
您打电话给'all'并呼叫'Event.order(:start_time)' – Santhosh