method
fields_for_with_nested_attributes
rails latest stable - Class:
ActionView::Helpers::FormBuilder
fields_for_with_nested_attributes(association_name, association, options, block)private
No documentation available.
# File actionview/lib/action_view/helpers/form_helper.rb, line 2703
def fields_for_with_nested_attributes(association_name, association, options, block)
name = "#{object_name}[#{association_name}_attributes]"
association = convert_to_model(association)
if association.respond_to?(:persisted?)
association = [association] if @object.public_send(association_name).respond_to?(:to_ary)
elsif !association.respond_to?(:to_ary)
association = @object.public_send(association_name)
end
if association.respond_to?(:to_ary)
explicit_child_index = options[:child_index]
output = ActiveSupport::SafeBuffer.new
association.each do |child|
if explicit_child_index
options[:child_index] = explicit_child_index.call if explicit_child_index.respond_to?(:call)
else
options[:child_index] = nested_child_index(name)
end
if content = fields_for_nested_model("#{name}[#{options[:child_index]}]", child, options, block)
output << content
end
end
output
elsif association
fields_for_nested_model(name, association, options, block)
end
end