获取在特定时间段内创建的记录

时间:2016-10-12 10:32:42

标签: ruby-on-rails ruby

您好我正在开展一个项目,作为其中的一部分,我希望能够获得过去7天内创建的所有帖子。我试过了:

  @weeks_posts = Post.where(date: Date.today)
    for i in 1..6
      @weeks_posts = @weeks_posts + Post.where(date: (Date.today).to_time - i.days)
    end

然而,这最终会返回一个数组,这意味着我无法将.where子句链接到它,我需要这样做,它看起来效率也很低。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您可以使用Google research使其变得灵活:

scope :by_dates, ->(start_date, end_date) { Post.where(date: start_date..end_date) }

Post.by_dates(Date.today - 6.days, Date.today) # returns AR collection

答案 1 :(得分:2)

尝试这样的事情:

salt -C 'G@mem_total:993' test.ping