我已经和代码争战了好几天了,我真的不能从中得到任何好处!
我正在制作一个博客档案,我正在寻找一种方法来从created_at获取所有年份和月份。可以说我从2011年,2012年和2013年获得了很多帖子。
下面的“代码”只是我正在尝试构建的结构的一个示例(这只是让您了解我希望它看起来像什么)
years.each do |y|
puts y.created_at.year
y.created_at.month.each do |m|
puts m.created_at.month
(And ye, posts for each months loops here)
end
end
我所追求的输出是:
2013
May
Name of post
Name of post
April
Name of post
Name of post
Mars
Name of post
Name of post
2012
December
Name of post
Name of post
November
Name of post
Name of post
October
Name of post
Name of post
我希望我说得够清楚!我敢肯定这比我现在想的要简单得多!非常感谢这里的一些帮助!
答案 0 :(得分:1)
month, year = nil, nil
Post.order("created_at desc") do |post|
if year != post.created_at.year
year = post.created_at.year
puts year
end
if month != post.created_at.month
month = post.created_at.month
puts "\t#{post.created_at.strftime("%B")}"
end
puts "\t\t#{post.name}"
end