Tworzenie archiwum blogów w szynach
Kontroler:
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
posty # widok miesiąca:
<% @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 %>
posty # widok indeksu:
<h1>Listing posts</h1>
<%= render :partial => @posts %>
<h2>Blog archive</h2>
<%= ?I want link to single months archive here? %>
Tworzę bloga w szynach i pomyślałem, że dodam sekcję archiwum, którą często widzisz na pasku bocznym wielu blogów. Kiedy nawiguję doposts#month
zobacz, że wyświetla miesiąc jako nagłówek i wyświetla listę wszystkich postów z tego miesiąca.
Chcę teraz wyświetlić listę miesięcy, w których posty zostały utworzoneposts#index
widok z każdym miesiącem powiązany zposts#month
widok opisany powyżej.
Nie jestem pewien, co włożyćposts#index
widok, aby to osiągnąć. Wszelkie pomysły dotyczące tego, co tam umieścić lub lepszy sposób wdrożenia, byłyby świetne.
Każda pomoc doceniona!