Module: RailsStuff::Helpers::Forms

Included in:
All
Defined in:
lib/rails_stuff/helpers/forms.rb

Instance Method Summary collapse

Instance Method Details

#hidden_params_fields(*fields) ⇒ Object

Returns hidden field tags for requested fields when they are present in params. Usually used to bypass params in GET-forms.



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/rails_stuff/helpers/forms.rb', line 6

def hidden_params_fields(*fields)
  inputs = fields.flat_map do |field|
    next unless params.key?(field)
    val = params[field]
    if val.is_a?(Array)
      name = "#{field}[]"
      val.map { |str| [name, str] }
    else
      [[field, val]]
    end
  end
  safe_join inputs.map { |(name, val)| hidden_field_tag name, val if name }
end