jquery – 按日期搜索Rails博客存档

我在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>

输出:

点赞