0

我正在构建一个简单的博客应用程序,我想添加一个档案,人们可​​以点击一个月并显示该月的所有文章。这就像基于月份和年份的分组。例如,

文章:

  • 2012 年 6 月
  • 2011 年 5 月

因此,当单击某个日期时,它会将您带到一个页面并列出该月的所有文章。我怎样才能完成它?

4

1 回答 1

1

2012 年 7 月:

require 'date'

month = 7
year = 2012

start_date = Date.new(year,month,1)
end_date =  Date.new(year,month+1,1) - 1.day

articles_in_july = Article.where(:created_at => start_date..end_date)

您可以使用上述方法在控制台中进行测试。但是,在您的模型中,您可能想要:

def self.in_month(month,year)
    start_date = Date.new(year,month,1)
    end_date =  Date.new(year,month+1,1) - 1.day
    where(:created_at => start_date..end_date)
end

然后你可以调用:

Article.in_month(7,2012)

或者,假设用户 has_many 文章:

current_user.articles.in_month(7,2012)
于 2012-08-08T21:57:43.170 回答