Module: ActionView::Helpers::FormHelper

Defined in:
lib/strong_form/form.rb

Instance Method Summary collapse

Instance Method Details

#fields_for(record_name, record_object = nil, options = {}, &block) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/strong_form/form.rb', line 40

def fields_for(record_name, record_object = nil, options = {}, &block)
  if record_object.respond_to?(:permitted_attributes=)
    if options.key?(:permitted_attributes)
      record_object.permitted_attributes = options[:permitted_attributes]
    elsif options[:parent_builder].object.try(:permitted_attributes) &&
          record_object.permitted_attributes.nil?
      assign_child_permitted_attributes!(
        record_name, record_object, options[:parent_builder].object.permitted_attributes
      )
    end
  end

  builder = instantiate_builder(record_name, record_object, options)
  capture(builder, &block)
end

#form_for(record, options = {}, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/strong_form/form.rb', line 6

def form_for(record, options = {}, &block)
  object = record.is_a?(Array) ? record.last : record

  if options.key?(:permitted_attributes) && object.respond_to?(:permitted_attributes=)
    object.permitted_attributes = options.delete(:permitted_attributes)
  end

  orig_form_for(record, options, &block)
end

#orig_form_forObject



4
# File 'lib/strong_form/form.rb', line 4

alias orig_form_for form_for