我在rails archive blog上做了一个ruby.后端工作正常但是年份显示单独显示,如下图所示
正如你在上面的图片中看到的那样,这些年份正在分开.但是如果我在同一个月给出一些博客它可以正常工作,你可以在2014年8月(事故,政治)看到,但不是2014年.
这是控制器
@posts_by_month = Cutting.find(:all, :order => "date DESC").group_by { |post| post.date.beginning_of_month }
风景
<div class="easy-tree" style="float:left;width:300px;background: #aaaaaa;">
<%# @post_months.sort.reverse.each do |month, posts| %>
<%@posts_by_month.each do |month, posts|%>
<ul>
<li><%=h month.strftime("%G")%>
<ul>
<li><%=h month.strftime("%B") %>
<!--li ><%=h month.strftime %>-->
<ul>
<% for post in posts %>
<li style="background: #aaaaaa;"class="getid" name ="<%=post.id%>"><%=h link_to post.subject%></li>
<% end %>
</ul>
<!--/li-->
</li>
</ul>
</li>
</ul>
<% end %>
</div>
我正在使用easy-tree来获取ui
最佳答案 试试这个
@posts = Cutting.all(:select => "id, subject, date, created_at", :order => "date DESC")
@post_months = @posts.group_by { |t| t.created_at.beginning_of_year }
并根据你的意见
<div class="easy-tree" style="float:left;width:300px;background: #aaaaaa;">
<% @post_months.sort.reverse.each do |year, postss| %>
<ul>
<li><%=h year.strftime("%G")%>
<% postss.group_by { |t| t.created_at.beginning_of_month }.each do |month, posts| %>
<ul>
<li><%=h month.strftime("%B") %>
<ul>
<% for post in posts %>
<li style="background: #aaaaaa;" class="getid" name ="<%=post.id%>"><%=h link_to post.subject %></li>
<% end %>
</ul>
</li>
</ul>
<% end %>
</li>
</ul>
<% end %>
</div>
输出: