class Padrino::Helpers::FormBuilder::AbstractFormBuilder

def check_box_group(field, options={})

f.check_box_group :color, :collection => @colors, :fields => [:name, :id]
f.check_box_group :color, :options => ['red', 'green', 'blue'], :selected => ['red', 'blue']
def check_box_group(field, options={})
  selected_values = Array(options[:selected] || field_value(field))
  if options[:collection]
    fields = options[:fields] || [:name, :id]
    # don't use map!, it will break some orms
    selected_values = selected_values.map{ |v| (v.respond_to?(fields[0]) ? v.send(fields[1]) : v).to_s }
  end
  labeled_group( field, options ) do |variant|
    @template.check_box_tag( field_name(field)+'[]', :value => variant[1], :id => variant[2], :checked => selected_values.include?(variant[1]) )
  end
end