続いて、今回作成した
heloの
Controllerである「
helos_controller.rb」ファイルをチェックしましょう。
Controllerを作成すると、このように「
コントローラー名_controller.rb」という名前のスクリプトファイルが作成されます。ここに
Controllerのスクリプトが記述されます。
このファイルには、「
HelosController」という
クラスが定義されています(下のリスト欄を参照)。これが、Controllerの本体です。このクラスは、整理すると以下のような形で記述されます。
class コントローラー名Controller < ApplicationController
def アクション名
……このアクションの処理……
end
……必要なだけメソッドを定義する……
end
Controllerのクラスは、先ほどの
ApplicationControllerクラスを継承して作成します。重要なのは、
クラス名です。クラスの名前は必ず「
コントローラー名Controller」としなければいけません。
作成したControllerのクラス内には、アクションで呼び出されるメソッド類が定義されます。先ほどrailsコマンドを実行した時、helosには「index」というアクションを用意しておきました。クラスを見ると、indexというメソッドが用意されていることがわかるでしょう。
こうして
Controllerに対応したクラスを用意し、その中にアクションに対応するメソッドを定義する――これが、「
Controllerを作る」ということなのです。
●Railsは「設定より規約」の世界
これまでの説明からもわかるように、Railsでは「設定より規約」が重視されます。「この
Controllerのスクリプトはこのファイル」といったことを設定ファイルに書いておく、というような作り方はしません。「この
Controllerはこういう名前のファイルで用意する決まりにする。それにしたがって用意すれば、後は勝手に認識して動く」というやり方がRails流です。決まった形でファイルやクラス、メソッドを用意することで、自動的にそれらが認識され呼び出されるようになっているのです。
ですから、作成されたファイル名や、記述されているクラスの名前を勝手に変更したりしてはいけません。そうすると途端に動かなくなったりしますから注意してください。