131212_02:アジャイル開発本

第3章:モデル・ビュー・コントローラ

コントローラは、何をすべきかをモデルに伝える。

モデルは、それをどのように実行すべきかを知っている。

 

Webアプリケーションでは、通常、情報をリレーショナルデータベースに保存する。

例えば、注文入力システムでは、注文、商品、顧客などの情報をデータベースに格納する。

 

--

3.2 Railsのモデル

 

ORM(Object-Relational Mapping)

ORMライブラリは、データベーステーブルをクラスにマッピングする。

 

Active Record

Railsが提供するORM層をActive Recordという。Active Recoardは標準的なORMのモデルにほぼ従っており、「テーブル」が「クラス」に、「行」が「オブジェクト」に、「列」が「オブジェクトの属性」にそれぞれ対応している。

Active Recordは、Rails MVCアーキテクチャのモデルを支える堅牢な基盤。

 

3.3 ビューとコントローラ

Railsでは、ビューとコントローラのサポートがAction Packという単一のコンポーネントにまとめられている。

 

ビューのサポート

Railsでは、動的コンテンツをテンプレートによって生成するが、これには3つの方法がある。

最も一般的な方法はEmbedded Ruby(eRuby)と呼ばれるもの。

eRubyにより、ブラウザで実行されるJavaScriptのコード断片をサーバ側で作成できるようになる。動的なAjaxインターフェースの作成には最適。

もうひとつRubyに備わっているのは、Rubyコードを使用してXMLドキュメントを作成するXML Builder。生成されるXMLの構造は、自動的にコードの構造に従う。

 

コントローラ

Railsのコントローラは、アプリケーションのロジックの中枢となるもので、ユーザ、ビュー、モデルの③者間のやり取りを調整する。

また、コントローラは、次のようなさまざまな補助的サービスの提供場所でもある。

・外部のリクエストを内部のアクションにルーティングする。人間にとってわかりやすいURLの処理に優れている。

・キャッシュを管理する。

・ヘルパーモジュールを管理する。

・セッションを管理する。