「フォームから入力されたデータを処理し、次のページで入力したデータの確認を行う」など、他のコンポーネントに必要なデータを渡さなければならないことがあります。このようなときはデータを渡すコンポーネントにアクセサを定義しておき、そのアクセサを使ってデータを設定します。
例として、MainPageコンポーネントでユーザーの名前を入力し、HelloPageコンポーネントでその名前を表示するアプリケーションを考えます。MainPageにはユーザー名を入力するためのテキストフィールドがあり、インスタンス変数user_nameにデータが代入されるものとします。
HelloPageではMaiPageで入力されたユーザー名を表示します。MainPageからデータを受け取るためのアクセサuser_nameを定義します。
class HelloPage < CKComponent attr_accessor :user_name end
MainPageでは入力されたユーザー名をHelloPageに渡します。
class MainPage < CKComponent
def set_user_name_to_hellopage
# HelloPageを生成し、ユーザー名を渡す
hellopage = page(“HelloPage”)
hellopage.user_name = @user_name
# HelloPageを表示する
return hellopage
end
end