控制器:创建博客归档
class PostsController < ApplicationController
def index
@posts = Post.published
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end
def show
.
.
end
def month
@posts_by_month = Post.find(:all, :order => "created_at DESC").group_by { |post| post.created_at.strftime("%B %Y") }
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end
end
帖子#月份查看:
<% @posts_by_month.each do |monthname, posts| %>
<p><%= monthname %></p>
<div>
<ul>
<% posts.each do |post| %>
<li><p><%= post.title %></p></li>
<% end %>
</ul>
</div>
<% end %>
帖子#索引视图:
<h1>Listing posts</h1>
<%= render :partial => @posts %>
<h2>Blog archive</h2>
<%= ?I want link to single months archive here? %>
我创建的轨道一个博客,我想我会添加一个档案部分,您通常会在许多博客的边栏中看到这一部分。当我导航到posts#month
视图时,它将月份显示为标题,并列出了该月内所有发布的帖子。
我现在想要做的是有一个月的列表,在posts#index
视图上发布,每个月链接到上述posts#month
视图。
我不确定要在posts#index
视图上放什么来完成此操作。任何关于如何放置或者更好的实施方法的想法都是很棒的。
任何帮助表示赞赏!
是的,这与我已经很相似。这提供了一个月内发布的帖子列表。我试图做的是在索引页面上创建一个名为'August'的链接,例如,导航到在8月份列出帖子的页面。任何想法如何做到这一点? – Kane
一个例子是这个博客http://sethgodin.typepad.com/。查看档案部分的左侧。注意有几个月的时间,如果你点击月份显示那个月的帖子。这是我想要做的。 – Kane
好吧我更新了我的答案 – zolter