« 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