Ruby on rails Rails 4:显示按'排序的元素;日期';属性
因此,我试图制作一个页面,显示一系列即将发生的事件。问题是,这些事件将每隔几周左右更改一次,因此我希望在以管理员身份登录时能够不断更新事件(我使用的是ActiveAdmin) 此Ruby on rails Rails 4:显示按'排序的元素;日期';属性,ruby-on-rails,Ruby On Rails,因此,我试图制作一个页面,显示一系列即将发生的事件。问题是,这些事件将每隔几周左右更改一次,因此我希望在以管理员身份登录时能够不断更新事件(我使用的是ActiveAdmin) 此事件模型只需具有几个属性,即日期、时间、位置和描述 只有才能获得您想要的数据,您基本上必须执行SQL查询,如Gene Post(返回所有数据,但按您的规格排序): 但是,如果您想保持代码干燥,您可能需要查看: #app/models/event.rb 类事件{订单(日期::asc,时间::asc)} 结束 这将允许您随
事件
模型只需具有几个属性,即日期
、时间
、位置
和描述
只有才能获得您想要的数据,您基本上必须执行SQL查询,如Gene Post(返回所有数据,但按您的规格排序): 但是,如果您想保持代码干燥,您可能需要查看:
#app/models/event.rb
类事件{订单(日期::asc,时间::asc)}
结束
这将允许您随时调用
Event.latest
为了获得所需的数据,您基本上必须执行SQL查询,如Gene Post(返回所有数据,但按规格排序):
但是,如果您想保持代码干燥,您可能需要查看:
#app/models/event.rb
类事件{订单(日期::asc,时间::asc)}
结束
这将允许您随时调用
Event.latest
只需说Event.order('date ASC,time ASC')
而不是Event.all
。顺便说一下,您应该使用一个类型为datetime
的字段,而不是两个单独的字段。对不起。在Rails4中,最好说Event.order(:date=>:asc,:time=>:asc)。我之前的回答对Rails 3很好。但是同样,一个类型为datetime
的字段会更好。太好了,谢谢。因此,Event.order(:date=>:asc,:time=>:asc)
将返回所有根据这些参数排序的事件对象?当然。阅读文档!与你的问题无关,但你可能会对我写的一篇关于rails时区的博文感兴趣——它还有带有“事件”模型的示例代码,只需说Event.order('date ASC,time ASC')
而不是Event.all
。顺便说一下,您应该使用一个类型为datetime
的字段,而不是两个单独的字段。对不起。在Rails4中,最好说Event.order(:date=>:asc,:time=>:asc)。我之前的回答对Rails 3很好。但是同样,一个类型为datetime
的字段会更好。太好了,谢谢。因此,Event.order(:date=>:asc,:time=>:asc)
将返回所有根据这些参数排序的事件对象?当然。阅读文档!与你的问题无关,但你可能会对我写的一篇关于rails时区的博文感兴趣——它还有带有“事件”模型的示例代码
Event.order(date: :asc, time: :asc)
#app/models/event.rb
Class Event < ActiveRecord::Base
scope :latest, -> { order(date: :asc, time: :asc)}
end