« RailsでWikiクローンを作る | メイン | Wiki新設 »

2005年09月01日

RailsでWikiクローンを作る 7: ページ一覧

ページ一覧
続いてページ一覧画面を実装します。 ページ一覧のアクションのURLは、/wiki/list としますので、 app/controllers/wiki_controller.rb に以下のような list メソッドを作ります。
  def list
    @pages = Page.find(:all, :order => 'name')
  end
Page.find で、pages テーブルのすべての行を取り出しています。 そのとき、:order => 'name' という指定があるので、ページ名のアルファベット順にソートされます。 この :order のパラメータは SQL の ORDER BY に相当し、値はほぼそのまま SQL に渡されます。 アルファベットの逆順に並べ替えたければ、:order => 'name desc'と書けばOKです。

ビューのテンプレートは app/views/wiki/list.rhtml で、以下のようになります。
<% @title = "ページ一覧" %>
<div class="body">
<ul>
<% for page in @pages %>
<li><%= link_to page.name, :action => 'show', :id => page.name %>:
 <%= page.updated_at %></li>
<% end %>
</ul>
</div>
link_to というヘルパーメソッドで、各ページへのリンクを生成しています。 link_to の第1引数はリンクとして表示される文字列で、第2引数以降は既出の redirect_to と同じようにアクション名やIDの指定です。 これで、各ページのページ名から、/wiki/show/ページ名 というアクションにリンクが張られます。
link_to なんか使わずに、直接 a タグを書けば良いじゃん!と思うかもしれませんが、 link_to でリンクを張るといろいろ良いことがあるので素直に link_to を使いましょう。

そして、http://localhost:3000/wiki/list にアクセスすると以下のようになります。

ページ一覧

投稿者 tam : 2005年09月01日 08:34

トラックバック

このエントリーのトラックバックURL:
http://tam.qmix.org/mt3/mt-tb.cgi/14

このリストは、次のエントリーを参照しています: RailsでWikiクローンを作る 7: ページ一覧:

» accessory cell cellular lg phone from accessory cell cellular lg phone
[続きを読む]

トラックバック時刻: 2007年04月10日 07:05

» a great pair of tits from a great pair of tits
[続きを読む]

トラックバック時刻: 2007年04月22日 07:35

» xxx lesbians with big tits from xxx lesbians with big tits
[続きを読む]

トラックバック時刻: 2007年04月25日 04:30

コメント

コメントしてください




保存しますか?