|
||||||||||||||||
| 前のページ 1 2 3 4 | ||||||||||||||||
| コントローラの変更 | ||||||||||||||||
|
リスト5はContactsControllerクラスに追加するsearchメソッドです。 リスト5:searchアクション
def search
searchメソッドは短いメソッドではありますが、3つの重要なファクターが使われています。
表2:searchメソッドの3つの重要なファクター paginateの基本的な使い方は、第1引数にモデルを指定し、第2引数に1ページあたりの表示件数を指定することによって、ビューに「次のページへ」「前のページへ」のリンクを作成することができます(paginateの第3引数以降には、オプションで検索条件などを指定することもできます)。 今回実装したsearchアクションに対応するpaginateのビューは、Scaffoldによって生成されたlist.rthmlの実装(リスト6)をそのまま使用するため、実装の必要はありません。 リスト6:paginateを使ったビュー
<%= link_to 'Previous page', { :page => @contact_pages.current.previous } if @contact_pages.current.previous %>
以上で検索機能の実装が完了しました。たったこれだけのコードでページ管理が実現できるRailsの生産性には驚かされます。
サンプル
|
||||||||||||||||
| 動作確認 | ||||||||||||||||
|
それでは早速動作確認をしてみましょう。RadRailsの右下ペインの「Servers」より「AddressBookServer」を起動して(注)、Webブラウザで以下のURLにアクセスしてみましょう。アドレス帳アプリに検索が追加されたことが確認できます。
http://localhost:3000/contacts
※注:
コマンドプロンプトから「ruby script/server」と入力することで、Webサーバを起動することもできます。 |
||||||||||||||||
| まとめ | ||||||||||||||||
|
Scaffoldで作成したアドレス帳を使って、Rails開発の基礎を説明しましたがいかがでしたでしょうか。 1つ1つの機能を実現するためのコードが極端に少なく、Railsの高い生産性を実感していただけたと思います。 次回は、Railsのテストについて解説します。 |
||||||||||||||||
|
前のページ 1 2 3 4 |
||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||

