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