Railsで作る最も簡単なブログシステム(3)

Railsで作る最も簡単なブログシステム(2) - dan5yaの日記の続きです。

スタイルシートを適用する

あとで書く。

Aboutページ

ブログについての説明や、プロフィールを書いておく「About」のページを作ります。

app/views/home/about.html.erbというビューファイルを作成します。

app/views/home/about.html.erb

<h2>このブログについて</h2>
<p>ここにブログの説明を書きます。</p>

<h2>プロフィール</h2>
<p>ここにプロフィールを書きます。</p>

ブラウザでhttp://localhost:3000/home/aboutを開くとabout.html.erbの内容が表示されます(このページはトップメニューの「About」をクリックすることで開くことも出来ます。)。ここには好きなことを書いておくことができます。

Archiveページ

閲覧者が記事の一覧表示できる「Archive」ページを作ります。

app/views/home/about.html.erbというビューファイルを作成します。

app/views/home/archive.html.erb

<h2>Archive</h2>
<ul>
<% for entry in @entries %>
  <li>
      <%=h entry.created_at.year %><%=h entry.created_at.month %><%=h entry.created_at.day %>日
      …… <%=link_to h(entry.title), :action => 'show', :id => entry %>
  </li>
<% end %>
</ul>

上記のビューファイルは@entriesという変数を使用するので、コントローラにarchiveアクションを定義して、ビューが参照する@entriesを用意してやります。

app/controllers/home_controller.rb

class HomeController < ApplicationController

  def index
    @entries = Entry.find(:all, :order => "created_at DESC")
  end

  # ↓archiveメソッドを追加する
  def archive
    @entries = Entry.find(:all, :order => "created_at DESC")
  end
end

上のようにHomeControllerにarchiveメソッドを定義します。

ブラウザでhttp://localhost:3000/home/archiveを開くとアーカイブページが表示されます(このページはトップメニューの「Archive」をクリックすることで開くことも出来ます。)。このページは記事の日付とタイトルの一覧が表示され、タイトルは各記事の本文にリンクされています。

まとめ

  1. スタイルシート(あとで書く)
  2. app/views/home/about.html.erbを作る
  3. app/views/home/archive.html.erbを作る
  4. app/controllers/home_controller.rbを編集(archiveメソッドを追加)

aboutページとarchiveページを作成しました。これでブログの編集と閲覧に必要なページは一通り出来上がりました。次回は認証に挑戦します。

Railsで作る最も簡単なブログシステム(4) - dan5yaの日記に続きます。