0

我有一个活动模型,它有一个活动日期。现在我正在迭代天数,我想从具有该天数的活动集合中显示该活动。像这样的东西:

1 activities = Activity.all
2 (1..31).each do |day|
3   activity = activities.where(activity_date.day == day)
4   unless activity.blank?
5     ..show activity data...
6   end
7 end 

问题在于第 3 行,它显然不起作用。这样做的最佳方法是什么?

4

1 回答 1

2

您可以使用 MySql dayofmonth()函数:

activity = Activity.where("dayofmonth(created_at) = ?", day).first

像这样它只会从数据库中获取必要的记录。

请注意,即使您当天有多个活动,它也只会选择第一个活动。

于 2013-07-12T10:13:04.107 回答