では、実際に作成しましょう。ここでは「
helos」という
Controllerに「
index」アクションを1つだけ用意してみることにします。
Aptana Studioを使っているならば、ウインドウ右下にあるプロジェクト名のターミナルビューから下のようにコマンドを実行してください。コマンドプロンプトなどで直接実行する場合は、Railsアプリのディレクトリ内に移動して同様に実行してください。
rails generate controller helos index
これで、
heloコントローラーと
indexアクションに関連するファイル類がすべて自動的に作成されます。非常に簡単ですね!
■作成されるファイル類コマンドを実行すると、
Controllerと
View用のファイル類が自動的に作成されます。作成されるファイル類は、実はけっこうたくさんあります。整理しましょう。
controllers/helos_controller.rbこれが
Controllerのソースコードファイルです。とりあえず今回はこれだけ使います。
views/hellos/index.html.erbこれは、作成した
helosの
View関連ファイルです。
Viewは、
Controller名のフォルダ内に、各アクションごとに表示するページのテンプレートファイルを用意します。今回は、
indexアクションのテンプレートだけが作成されます。
helpers/helos_helper.rbこれは「
ヘルパー」と呼ばれるものです。ヘルパーというのは、
Viewで利用できるユーティリティ的なスクリプトです。これはまだ使いません。
test/functional/helos_controller_test.rb
test/unit/helpers/helos_helper_test.rbテスト用のプログラムです。
ユニットテストと呼ばれるテストのためのスクリプトが作成されます。これらもまだ使う予定はありません。
rails generate controllerコマンドは、このように正確には「
Controllerと
Viewのファイルを作成するツール」といえます。ここでは
Controllerしか使いませんが、普通は
Viewのテンプレートとあわせてページの作成を行うのが基本ですし、ヘルパーやユニットテストといったものもいずれ必要となるなら最初から用意しておいたほうが便利、ともいえるでしょう。
※本当に必要なのは?たくさんのファイルが一度に作成されるため、「
Controllerを使うにはこんなにいろいろ作ってやらないといけないのか」と思ってしまうかも知れませんが、これは「今後、必要になるものをまとめて作っている」ためであって、実はこれらすべてがないと
Controllerが動かないわけではありません。
Controllerとして必要なのは、「
controllers」フォルダに作成される「
〇〇_controller.rb」というスクリプトファイルだけです。それ以外のものは、
Controllerを作成する上で必要というわけではありません(
View関連は、使わないように
Cntrollerのメソッドを書かないとエラーになりますが、
Controllerを使う上で必須というわけではありません)。
この先、コマンドを使わず、手作業でファイルを用意する必要に迫られることもあるでしょう(オンラインIDEを使った開発などでは、コマンドが利用できないケースが大半です)。こうした場合には、「
controllers」に「
〇〇_controller.rb」というファイルを用意し、そこに
Controllerクラスを定義すれば、
Controllerそのものは使えるようになります。他のファイルはとりあえず不要です。(ただし、実際の利用には、後で説明する「
マッピング」の設定が必要になります)