====== ウィジェットの追加/削除 ====== ウィジェットは、動的に追加・削除が可能です。\\ アクションごとに必要なパラメータが変わる場合は、この方法によって動的にウィジェットを増減させて対応します。 追加 @form.add_widget( AlText.new( "fax", :label=>"ファックス" ) ) 削除 @form.delete_widget( "fax" ) ===== 既存フォームから必要なウィジェットのみのフォームを再構成 ===== コンストラクタで作成したフォームから、そのアクションに必要な最小限のフォームを再構成する場合は、以下の方法が使えます。 def initalize() @form = AlForm.new( AlText.new( "first_name", :label=>"名" ), AlText.new( "family_name", :label=>"姓" ), AlText.new( "address", :label=>"住所" ), AlText.new( "tel", :label=>"電話" ), ) end def action_index() # 名,姓のみのフォームを再構成 list = [ :first_name, :family_name ] @form = AlForm.new( list.map! { |k| @form.widgets[k] } ) ...