今回、
indexメソッドで行なっているのは、非常に単純なことです。「
render」というメソッドを実行しているだけなのです。このメソッドは、名前からもわかるように、Webページのレンダリングを行うものです。ここでは以下のように記述されていますね。
render :text=>テキスト
renderの後にある「
:text」というのは、メソッドで指定されるオプションです。Railsの多くのメソッドにはこうしたオプションが用意されており、各種の値をメソッドに引き渡すことができます。
ここで使った
:textは、Webページに表示するテキストを指定するものです。つまり、
render :text=>〇〇 というように実行することで、
:textに指定したテキストをWebページとして表示させることができる、というわけです。
MVCの説明で述べたように、
Controllerのアクションでは、それぞれのアクションに対応する
Viewのテンプレートを読み込んでレンダリングするのが一般的です。が、これはつまり「アクションメソッドを終了したら、Railsのシステムがrenderメソッドで指定のテンプレートを読み込みレンダリングして表示するようになっている」といってよいでしょう。したがって、このようにメソッド内に
renderを用意して手動でレンダリングを行なってやれば、
Viewの利用はされず、プログラマが独自に用意した内容をWebページとして出力することができます。
■# coding: utf-8 についてもう1つ、サンプルコードで忘れてはならないのが、一番最初にある「
# coding: utf-8」という文です。これはテキストの
エンコーディングを指定するものです。なぜ、これが付けられているのかといえば、サンプルで日本語を出力しているからです。
Railsでは、日本語を扱う場合には
UTF-8でエンコードされる必要があります。このため、スクリプトの冒頭にこの一文を入れておきます。……実を言えば、テストサーバーではこれがなくても問題なく動いてくれたりしますが、本サイトにアップロードしたらこの指定がないと日本語部分で必ずエラーになりますので、今からきちんと記す習慣をつけましょう。
――とりあえず、「
Controllerクラスにアクションメソッドを用意し、そこに
renderを用意すれば、テキストをWebページとして出力できる」ということはわかりました。まだ
Controllerクラスの詳細はわかりませんが、とりあえず基本的な使い方がわかっただけでも良しとしましょう。いろいろと表示内容を変えて試してみてください。