Class: ActionView::Helpers::FormBuilder

Inherits:
Object
  • Object
show all
Includes:
AssetTagHelper, CaptureHelper, FormOptionsHelper, FormTagHelper, TagHelper
Defined in:
lib/custom_fielder/form_for_helpers.rb

Instance Method Summary collapse

Instance Method Details

#custom_fieldsString

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

Returns:

  • (String)

    HTML



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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