控制器:創建博客歸檔
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