Создание архива блога в рельсах
контроллер:
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
вид для достижения этой цели. Любые идеи о том, что там поставить или лучший способ реализовать это было бы здорово.
Любая помощь приветствуется!