module FreeForm::Nested

Public Class Methods

included(base) click to toggle source
# File lib/freeform/form/nested.rb, line 3
def self.included(base)
  base.extend(ClassMethods)
end

Protected Instance Methods

build_models_from_param_count(attribute, params) click to toggle source

TODO: Clean up this method!

# File lib/freeform/form/nested.rb, line 113
def build_models_from_param_count(attribute, params)
  # Get the difference between sets of params passed and current form objects
  num_param_models = params.length
  num_built_models = self.send(:"#{attribute}").nil? ? 0 : self.send(:"#{attribute}").length
  additional_models_needed = num_param_models - num_built_models

  # Make up the difference by building new nested form models
  additional_models_needed.times do
    send("build_#{attribute.to_s}")
  end
end