今天发生的事件记录

时间:2016-05-19 14:49:42

标签: ruby-on-rails datetime

我有Event的模型,其中包含属性starts_atends_at。如何找到今天发生的事件的记录。如果今天的日期在事件的starts_atends_at之间或之间,则说事件发生在今天。 starts_atends_atdatetime。我没有看到需要添加任何模型代码,如果有人要求它我可以。

2 个答案:

答案 0 :(得分:0)

我有一个解决方案。如果有任何其他更好的优化解决方案,请评论。

Event.where('starts_at<= ? AND ends_at >= ?', DateTime.now, DateTime.now)

答案 1 :(得分:0)

怎么样:

scope :today, -> { where(starts_at: DateTime.now.beginning_of_day..DateTime.now.end_of_day) }

这应该会返回在当天开始和结束之间有starts_at时间的所有事件。