module ActiveAdmin::FormHelper

def fields_for_params(params, options = {})

Returns:
  • (Array) - of [Hash] with one element.

Parameters:
  • options (Hash) -- :namespace and :except
  • params (Hash) --
def fields_for_params(params, options = {})
  namespace = options[:namespace]
  except = Array.wrap(options[:except]).map &:to_s
  params.flat_map do |k, v|
    next if namespace.nil? && RESERVED_PARAMS.include?(k.to_s)
    next if except.include?(k.to_s)
    if namespace
      k = "#{namespace}[#{k}]"
    end
    case v
    when String, TrueClass, FalseClass
      { k => v }
    when Symbol
      { k => v.to_s }
    when Hash
      fields_for_params(v, namespace: k)
    when Array
      v.map do |v|
        { "#{k}[]" => v }
      end
    when nil
      { k => "" }
    else
      raise TypeError, "Cannot convert #{v.class} value: #{v.inspect}"
    end
  end.compact
end