控制器:
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? %>
我正在 Rails 中创建一个博客,我想我会添加一个存档部分,你通常会在许多博客的侧边栏中看到它。当我导航到posts#month
视图时,它会将月份显示为标题,并列出该月发布的所有帖子。
我现在要做的是列出在posts#index
视图上发布的月份列表,每个月都链接到上述posts#month
视图。
我不确定要在posts#index
视图上放置什么来完成此操作。任何关于放在那里的想法或更好的方法来实现它都会很棒。
任何帮助表示赞赏!