 |

|
Ruby on Rails入門 |
第3回:アーキテクチャと検索機能の追加
著者:DTS 五座 淳一 2006/6/7
|
|
|
1 2 3 4 次のページ
|
 |
Scaffold
|
前回は、Scaffoldを使って簡単なアプリケーション「アドレス帳」を作成しました。たった数回の操作だけで、Webアプリケーションを構築するための足場(Scaffold)を組み上げることができました。
Scaffoldで生成されたアプリケーションは、CRUD(Create、Read、Update、Delete)の機能を備え、Rails開発において重要な要素が数多く含まれています。これらを手がかりにRails開発の基礎を学んでいくことにしましょう。
|
コマンドプロンプトを使用したアドレス帳アプリの作成
|
前回はRadRailsを使用してアプリケーション「アドレス帳」の作成方法を紹介しましたが、コマンドプロンプトに下記のコマンドを入力することで、前回のアプリケーション「アドレス帳」と同じことが実現できます(実行時に出力されるログは省略しています)。
rails AddressBook
cd AddressBook
ruby script/generate scaffold Contact
1行目のコマンドでプロジェクトを作成し、3行目にてscaffoldジェネレータによるアプリケーションの作成を行っています。
|
アーキテクチャ
|
RailsはMVCモデルを採用したフレームワークです。アプリケーションは「状態を保持するモデル」「表示や入出力を担当するビュー」「それらを統率するコントローラ」の3種類に分けられます。
まずはモデル/ビュー/コントローラがどのように配置され連携し、Webアプリケーションとして動作していくのかを解説します。
|
ディレクトリ構成
|
Railsではアプリケーションの開発に必要なディレクトリ構成が、あらかじめ決められています。特に重要なディレクトリは次の通りです。

図1:アプリケーションの開発に必要なディレクトリ構成
図1を含むすべてのディレクトリ構成は、前回紹介したRadRailsでプロジェクトを作成、もしくはコマンドプロンプトからrailsコマンドを実行することによって自動的に生成できます。
|
基本的な処理の流れ
|
Railsはユーザからのリクエストをどのように処理しているのでしょうか。Railsの最も基本的な処理の流れを見てみましょう。
- Webブラウザに指定したURLがRailsによって解釈され、コントローラ、アクション(コントローラのメソッドのこと)を呼び出す
- コントローラはモデルと協調して処理を行う
- コントローラはビューに結果を渡す
- Webブラウザに結果を表示する
表1:基本的な処理の流れ

図2:基本的な処理の流れ
Railsでは、URLをもとに呼び出すコントローラ、アクション、ビューを決定します。例えばコントローラ「contacts」、アクション「list」を呼び出す場合のURLは、以下のようになります。
http://localhost:3000/contacts/list
またコントローラの処理結果を使って、Webブラウザに結果を表示するためのビューは、コントローラ名のディレクトリ配下の「アクション名.rhtml」という決まりです。先ほどの例の場合は「/views/contacts/list.rhtml」となります。
もちろんこれ以外の形で処理を行うことも可能ですが、基本的にはこの流れにそって処理が行われます。
このマッピングルールにも、設定よりも規約を重視するRailsの特徴が活かされています。マッピングに関する設定ファイルを記述する必要がなくなり、非常に合理的な機構となっています。
|
1 2 3 4 次のページ
|

|
|

|
著者プロフィール
株式会社DTS 五座 淳一
技術部所属。入社以来、交換機や携帯電話、Webシステムなど様々な開発を担当する。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。
|
|
|
|