lib/ramaze/helper/form.rb in Pistos-ramaze-2009.04.08 vs lib/ramaze/helper/form.rb in Pistos-ramaze-2009.06.12

- old
+ new

@@ -33,16 +33,28 @@ hash = {:type => :submit}.merge(form_tabindex) hash[:value] = value if value Ramaze::Gestalt.build{ tr{ td(:colspan => 2){ input(hash) }}} end + # @example usage, normal select drop-down + # + # form_select('Favourite colors', :colors, @colors, :selected => @color) + # + # @example usage for pre-selected value + # + # form_select('Favourite colors', :colors, @colors, :selected => @color) + # + # @example usage, allow selecting multiple + # + # form_select('Cups', :cups, @cups, :selected => @cup, :multiple => 5) def form_select(label, name, values, hash = {}) name = name.to_sym id = "form-#{name}" + multiple, size = hash.values_at(:multiple, :size) s_args = {:name => name, :id => id}.merge(form_tabindex) - s_args[:multiple] = :multiple if hash[:multiple] - s_args[:size] = hash[:size] || 1 + s_args[:multiple] = :multiple if multiple + s_args[:size] = (size || multiple || 1).to_i has_selected, selected = hash.key?(:selected), hash[:selected] error = form_errors[name.to_s] g = Ramaze::Gestalt.new