Module: FormHelper

Defined in:
app/helpers/form_helper.rb

Instance Method Summary collapse

Instance Method Details

TODO:

  • enable multiple selections at the same time, e.g. merge the current_scopes



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/helpers/form_helper.rb', line 6

def dropdown_select_form(options = {})
  url                    = options.fetch :url
  id                     = options.fetch :id
  select_options         = options.fetch :select_options
  title                  = options.fetch :title, nil
  placeholder            = options.fetch :placeholder, nil
  include_blank          = options.fetch :include_blank, nil
  css_class              = options.fetch :css_class, nil
  remote_parent          = options.fetch :remote_parent, nil
  remote_target          = options.fetch :remote_target, nil
  remote_response_target = options.fetch :remote_response_target, nil

  if remote_parent && remote_target && remote_response_target
    remote = true
  end

  if remote
    form_tag_base_css_class = 'select-tag-remote-form'
  else
    form_tag_base_css_class = 'select-tag-form'
  end

  form_tag url, method: :get, enforce_utf8: false, class: "#{form_tag_base_css_class} #{css_class}" do
    # concat params_as_hidden_fields id
    concat select_tag_dropdown id: id,
      select_options: select_options,
      title: title,
      placeholder: placeholder,
      include_blank: include_blank,
      selected: params[id],
      remote_parent: remote_parent,
      remote_target: remote_target,
      remote_response_target: remote_response_target
  end
end