libro
www.tuyano.com
初心者のためのRuby on Rails3入門

Controller(コントローラー)を使う (1/8)

作成:2012-01-16 08:00
更新:2012-01-16 08:00

■MVCアーキテクチャーとは?

Railsの開発を行う場合、まず何よりも前に理解しなければならないのは、そこで採用されている「MVCアーキテクチャー」という仕組みについてでしょう。

MVCというのは「Model(モデル)」「View(ビュー)」「Controller(コントローラー)」のイニシャルです。すなわち、この3つの機能の組み合わせによりWebアプリケーションを動かしていく、というのがMVCアーキテクチャーなのです。3つがどのような働きをするものか以下に整理しましょう。

Model(モデル)――Modelは、データベースとのやりとりを管理するものです。Railsでは、データ類はモデルを介してデータベースから取り出し処理します。

View(ビュー)――Viewは、画面表示に関するものです。画面に表示される内容(つまりWebページ)は、直接HTMLファイルなどをそのまま表示するのではなく、あらかじめViewのファイルとして用意したデータをレンダリングして作成されます。

Controller(コントローラー)――Controllerは、全体の制御を行うものです。あるページにアクセスをすると、Railsはそのアドレスに対応するControllerのメソッドを呼び出して実行します。そのメソッド内で、指定されたアドレスが要求された場合の処理を行います。

では、これらのものは、実際のWebアプリケーションでどのように機能するのでしょうか。クライアント(要するにWebブラウザ)から、Railsアプリ内のあるページにアクセスがあったとき、Railsがどのように動くか簡単に整理しましょう。

1. Controllerの呼び出し
そのアドレスから担当するControllerのメソッドを調べて呼び出します。

2. 各種必要な処理の実行
そのページで必要な処理を実行します。表示に必要な値などを変数やインスタンス変数に設定します。

3. Modelの利用
メソッド内で、そのページに必要なデータ等があれば、Modelにアクセスして、そのデータを取り出します。

4. Viewのレンダリング
最後に、そのアドレスに対応するViewのテンプレートをロードし、用意された値などをはめ込んだり組み込まれたRubyスクリプトを実行したりしてページの表示をレンダリングします。そして最終的に生成されたページのHTMLコードをクライアントへ送り返します。

――Railsでは、どこかのアドレスにアクセスがあると、まず対応するControllerが呼び出されます。そしてその中から、必要に応じてModelViewが呼び出され利用されます。つまり、ページを作成するには、Controllerは絶対に必要となるわけです。次に必要となるのが、ページの表示を行うView。データベースアクセスを行うModelは必要性としては最後になるでしょう。

ただし、デフォルトではこれらのものはすべてセットで用意しないと動きません。Controllerだけ作ればいいや、とはいかないのです。全部を用意して動かすのがRailsの基本なのです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのRuby on Rails3入門」に戻る