require 'al_template'
class HelloController < AlController
def action_index()
@my_message = "Hello world."
AlTemplate.run( 'index.rhtml' )
end
end
<%= header_section %>
Test
<%= body_section %>
<%=h @my_message %>
<%= footer_section %>
エディターを使って、コントローラを書き換えます。
@my_message = "Hello another world."
次のURLで実行確認します。
http://localhost:10080/index.rb?ctrl=my_hello
{{:prog_cgi:hw_my_hello.png?nolink|}}
===== 解説 =====
このプログラムでは、Aloneのコントローラとテンプレートの2種類の機能を使っています。
プログラムは、ウェブブラウザからのアクセス(リクエスト)をトリガーに開始されます。
ブラウザのURLで指定されたパラメータをもとに、どのプログラムのどのメソッドを動作させるべきかがAlone側で決定され、実行されます。
この場合は、my_hello ディレクトリに置かれた main.rb の、action_index メソッドが呼ばれます。これらAloneのルーティングに関する詳細は、「[[alcgi:コントローラ|AlController コントローラ]]」の項を参照してください。
呼ばれた action_index メソッドでは、変数 @my_message へ、"Hello another world." 文字列を代入します。
そして、テンプレートマネージャを呼び出して、htmlを生成しています。
テンプレートマネージャでは、引数で与えられたテンプレートファイル、および @で始まるインスタンス変数の内容などから、ブラウザに返すhtmlの完全なセットを生成します。
生成されたhtmlはブラウザに返され、ブラウザがそれを解釈して画面に表示します。
テンプレートに関する詳細は、「[[altemplate:start|AlTemplate テンプレート]]」の項を参照してください。