class CustomFielder::ActionView::Helpers::FormBuilder

Public Instance Methods

custom_fields() click to toggle source

form_for method for generating all fields and labels for a users custom fields to be edited

@return [String] HTML

# File lib/custom_fielder/form_for_helpers.rb, line 15
def custom_fields
  fields_for :custom_fielder_values do |f|
    cf = f.object

    field = [f.label(:value, cf.field.name)]
    field << begin
      unless cf.field.options.nil?
        f.select :value, cf.field.options.inject(Hash.new) { |h, v| h[v] = v; h }
      else
        case cf.field.field_type
        when 'String', 'Integer', 'Float'
          f.text_field :value
        when 'Date'
          f.date_field :value
        when 'DateTime'
          f.datetime_field :value
        when 'Boolean'
          f.select :value, { 'True' => true, 'False' => false }
        end
      end
    end

    safe_join(field)
  end
end