Rails(以下Rails)は、MVCアーキテクチャに基づいたWebアプリケーションフレームワークです。Hansson氏によって最初のバージョンが公開されて以来、開発者に人気のあるフレームワークです。設計理念Railsには、設計理念として、以下の3つがあります。Configuration)和訳すると「設定より規約」。従来のフレームワークのように設定を大量に記述するのではなく、規約にのっとってプログラミングすることで、余計なプログラミングや設定を省くことができます。社員クラスを「Employee」とすれば、社員情報を格納するデータベースは複数形である「employees」という名前にします。この規約にのっとることで、EmployeeクラスとemployeesテーブルのマッピングはRailsで自動的に行うので、開発者はクラスとテーブルを関連付ける設定を記述する必要はありません。開発者はビジネスロジックなどの本来やるべき部分の開発に、注力することができます。Yourself)「同じことを繰り返さない」という考え方です。あらゆる情報について、様々な個所に複数記述するのではなく、1か所に記述します。それにより、変更が生じた際に何か所もコードを修正することがなくなります。Transfer)RESTとはWebアプリケーションなどにおける設計概念の一つで、すべてのリソースに一意の識別子(URI)をつけ、そのリソースに対して動作を決めてアクセスします。Railsでの具体例を挙げると、1番の商品というリソースを表す「/products/1」というURIに対して、HTTPメソッドのGETを使うことで、1番の商品を表示します。同じURLでHTTPメソッドのPUTを使うことで、1番の商品情報の更新、HTTPメソッドのDELETEを使うことで、1番の商品を削除できます。RESTの概念にのっとったシステムは、RESTfulといわれます。RailsもRESTfulです。筆者は初めてRailsを使用したとき、ほとんどコードを書くことなく簡単なCRUDシステムができたことに感動しました。それまでStrutsなど、設定を多く行うフレームワークを利用していたので、設定の煩わしさから解放され、開発効率が上がることも実感できました。MVCアーキテクチャRailsは、MVCアーキテクチャに基づいています。Recordというコンポーネントが担当しています。大まかな処理の流れは以下の通りです。Controllerが呼び出されます。Recordを呼びだします。Recordは、データベースからデータの参照、更新などを行います。Viewを呼び出します。Viewでは、表示を行います。Record内のデータを参照します。Railsで作成した顧客管理システムで、顧客を新規登録する場合の処理の例を上げてみます。ここでは、それぞれ以下の名前でクラスなどを作成します。データベーステーブル名:customersユーザがリクエストすると、CustomerControllerが呼び出されます。CustomerControllerでは、顧客一覧を取得するため、Customerを呼びだします。Customerでは、customersテーブルからデータを取得し、Customerオブジェクトに格納します。Customerでの処理が終わると、CustomerControllerに戻り、顧客一覧を表示する画面であるindex.html.erbを呼び出します。index.html.erbでは、Customerオブジェクトに格納されているデータを参照して、画面表示を行います。これらの処理のほとんどは、規約にのっとって作成していれば、Railsが暗黙のうちに実行します。Recordは、ORマッパーです。Recordクラスがデータベースのテーブルに、オブジェクトがレコードに、オブジェクトの属性が各レコードの列に当たります。ORマッパーでは、クラスとテーブルを紐づける設定ファイルが必要となることが多いですが、Railsでは前述のとおり、規約に従うことで、自動的にテーブルとクラスの紐付を行うことができます。Textを触ってみた。