Sha256: efc7421d4b7b89131194c73faade091daa3c1d364b93f14a9954ea9416b8f978

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

module Headmin
  module FormHelper
    def form_field_valid?(form, name)
      !form.object.errors.has_key?(name)
    end

    def form_field_validation_id(form, name)
      [form.object_name, name.to_s, 'validation'].join('_').parameterize.underscore
    end

    def form_field_validation_class(form, name)
      return nil if request.get?
      form.object.errors.has_key?(name) ? 'is-invalid' : 'is-valid'
    end

    def human_attribute_name(attribute)
      attribute.to_s.humanize
    end

    # Outputs currently present query parameters as hidden fields for a given form
    #
    # https://example.com/products?amount=1&type[]=food&type[]=beverage
    #
    # <%= form.hidden_input :amount, value: 1 %>
    # <%= form.hidden_input :'type[]', value: 'food' %>
    # <%= form.hidden_input :'type[]', value: 'beverage' %>
    def query_parameter_fields(form)
      test = request.query_parameters.map do |name, value|
        if value.is_a?(Array)
          value.map do |value_element|
            form.hidden_field "#{name}[]", value: value_element
          end.join
        else
          form.hidden_field name, value: value
        end
      end
      test.join.html_safe
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
headmin-0.3.2 app/helpers/headmin/form_helper.rb
headmin-0.3.1 app/helpers/headmin/form_helper.rb