Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4:显示按'排序的元素;日期';属性_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails 4:显示按'排序的元素;日期';属性

Ruby on rails Rails 4:显示按'排序的元素;日期';属性,ruby-on-rails,Ruby On Rails,因此,我试图制作一个页面,显示一系列即将发生的事件。问题是,这些事件将每隔几周左右更改一次,因此我希望在以管理员身份登录时能够不断更新事件(我使用的是ActiveAdmin) 此事件模型只需具有几个属性,即日期、时间、位置和描述 只有才能获得您想要的数据,您基本上必须执行SQL查询,如Gene Post(返回所有数据,但按您的规格排序): 但是,如果您想保持代码干燥,您可能需要查看: #app/models/event.rb 类事件{订单(日期::asc,时间::asc)} 结束 这将允许您随

因此,我试图制作一个页面,显示一系列即将发生的事件。问题是,这些事件将每隔几周左右更改一次,因此我希望在以管理员身份登录时能够不断更新事件(我使用的是ActiveAdmin)

事件
模型只需具有几个属性,即
日期
时间
位置
描述


只有才能获得您想要的数据,您基本上必须执行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