2

当您进入博客页面时,您将在菜单上看到存档列表。在大多数情况下,它会显示类似这样的内容

'Archive'

2012(78)
 -December(1)
 -November(5)
 -October(10)
 ...
2011(215)
2010(365)

我有信心使用脚手架制作博客发布系统。但我不知道如何制作这个存档:(任何人都想出好主意来轻松地将它实现到应用程序???

需要你的帮助!!

4

1 回答 1

1
<h3>Archives </h3>
<% if @posts.to_a.empty? %>
<div class="post">
    <p>No articles found...</p>
</div>
<% else %>
<% current_month = 0 %>  
<% current_year = 0 %>
<% for article in @posts %> 
  <% if (article.created_at.year != current_year)
     current_year = article.created_at.year
   %>
      <h3 class="archiveyear"><%= article.created_at.year%></h3>
<% end %>
<% if (article.created_at.month != current_month || article.created_at.year != current_year) 
 current_month = article.created_at.month 
 current_year = article.created_at.year
%>  

<h4 class="archivemonth"><%= (Date::MONTHNAMES[article.created_at.month]) %></h4>
<% end %>
<div class="archivepost">
<%= link_to article.title, article_path(article), :remote => true %> on <%= article.created_at.strftime('%A')%> - <%= article.created_at.strftime('%d') + "th"%>
</div>
<% end -%>
<%end %>

这可能会对您有所帮助。我没有在此代码中包含计数的数量。其实我在想怎么做。如果你能告诉我。

我也在控制器中做到了这一点。

@posts = Article.order("created_at DESC")

@posts是一个array所以里面的项目会被订购,然后我可以根据它的顺序来获取记录。

谢谢。

于 2013-06-20T20:14:50.153 回答