确定日期

时间:2013-07-12 09:58:21

标签: ruby-on-rails

我有一个活动模型,它有一个活动日期。现在我正在迭代日期数字,我希望显示具有该日期编号的活动集合中的活动。像这样:

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行,这显然不起作用。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用MySql dayofmonth()功能:

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

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

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