我正在构建一个简单的博客应用程序,我想添加一个存档,人们可以点击一个月,并显示该月份的所有文章。这就像根据月份和年份进行分组。例如,
文章:
因此,当点击日期时,它会将您带到页面并列出该月的所有文章。我怎么能完成它?
答案 0 :(得分: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)
或者,假设用户有很多文章:
current_user.articles.in_month(7,2012)