Erstellen eines Blog-Archivs in Schienen
Regler:
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 # month Anzeigen:
<% @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 %>
Beiträge # Indexansicht:
<h1>Listing posts</h1>
<%= render :partial => @posts %>
<h2>Blog archive</h2>
<%= ?I want link to single months archive here? %>
Ich erstelle ein Blog in Rails und dachte, ich würde einen Archivabschnitt hinzufügen, den Sie häufig in der Seitenleiste vieler Blogs sehen. Wenn ich zum navigiereposts#month
view it zeigt den Monat als Überschrift an und listet alle Beiträge auf, die in diesem Monat erstellt wurden.
Was ich jetzt tun möchte, ist eine Liste von Monaten, in denen Beiträge auf der Website veröffentlicht wurdenposts#index
Ansicht mit jedem Monat, der mit dem verknüpft istposts#month
Ansicht wie oben beschrieben.
Ich bin mir nicht sicher, was ich anziehen sollposts#index
um dies zu erreichen. Ideen, was man dort hinstellen oder wie man dies besser umsetzt, wären großartig.
Jede Hilfe dankbar!