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