instance method fields_for

Ruby on Rails 3.2.22.5

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

fields_for(record_name, record_object = nil, fields_options = {}, &block)

No documentation comment.

Parameters

record_name req
record_object opt = nil
fields_options opt = {}
block block
Source
# File actionpack/lib/action_view/helpers/form_helper.rb, line 1292
      def fields_for(record_name, record_object = nil, fields_options = {}, &block)
        fields_options, record_object = record_object, nil if record_object.is_a?(Hash) && record_object.extractable_options?
        fields_options[:builder] ||= options[:builder]
        fields_options[:parent_builder] = self
        fields_options[:namespace] = fields_options[:parent_builder].options[:namespace]

        case record_name
        when String, Symbol
          if nested_attributes_association?(record_name)
            return fields_for_with_nested_attributes(record_name, record_object, fields_options, block)
          end
        else
          record_object = record_name.is_a?(Array) ? record_name.last : record_name
          record_name   = ActiveModel::Naming.param_key(record_object)
        end

        index = if options.has_key?(:index)
          "[#{options[:index]}]"
        elsif defined?(@auto_index)
          self.object_name = @object_name.to_s.sub(/\[\]$/,"")
          "[#{@auto_index}]"
        end
        record_name = "#{object_name}#{index}[#{record_name}]"

        @template.fields_for(record_name, record_object, fields_options, &block)
      end

Defined in actionpack/lib/action_view/helpers/form_helper.rb line 1292 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionView::Helpers::FormBuilder

Type at least 2 characters to search.

↑↓ navigate · open · esc close