Rubyソースファイルです。クラス名はコンポーネント名と同じ名前にし、必ずCKComponentクラスを継承します。また、インスタンス変数をバインディングするには、アクセサを定義しておきます。
class MainPage < CKComponent
def sayHello
"Hello World!"
end
end
コード内で
初期化を行う場合、通常のinitialize()ではなくinit()メソッドを使用します。init()は引数のいらない初期化用メソッドです。initialize()をオーバーライドしても初期化はできますが、引数が多いこととsuper()をすぐに呼ぶ必要があるなど、多少面倒になります。
CGIKitは実行時にテンプレート内のエレメントをコードと結びつけ、実行結果をHTMLに変換して表示します。コンポーネントは以下の順序でHTMLを出力します。
<番号リスト-1->テンプレートを読み込む番号リスト-1->
CGIKIT要素を見つけたら、バインディングから該当する定義を取得する
エレメントにバインディングしたインスタンス変数のアクセサメソッドを定義する必要はありません。CGIKitは定義されていればアクセサを使って操作しますが、そうでなければインスタンス変数を直接操作します。
フォームのテキストフィールドやボタンにバインディングしたインスタンス変数には、自動的にフォームデータが代入されます。