如何在Rails中获取上一个日期中插入的所有对象?

时间:2011-09-12 21:13:13

标签: ruby-on-rails

想象一下,我有一个名为Score的模型,在第1天我插入5个分数,在第2,3和4天没有分数,在第5天又分4个分数。现在,我想比较今天插入的分数(让我们想象今天是第10天),而不是最后一次提交分数。获取上次插入的所有分数列表的最佳方式是什么?在这个例子中,它是第5天插入的分数列表,但我希望通过这种方式实现这一目标。

1 个答案:

答案 0 :(得分:1)

试试这个:

class Score
  def self.recent
    # find the last score date
    last_date = Score.where("created_at < ?", Time.now.beginning_of_day).
      order("created_at DESC").first.try(:created_at)

    return [] unless last_date.present?

    where(:created_at => (last_date.beginning_of_day..
      last_date.end_of_day))
  end
end

现在您可以获得recent分数:

Score.recent # list of Score objects