Module: Wobapphelpers::Helpers::PolymorphicHelper

Defined in:
lib/wobapphelpers/helpers/polymorphic_helper.rb

Instance Method Summary collapse

Instance Method Details

#polymorphic_selector(form, poly, types, group_method = :all, options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/wobapphelpers/helpers/polymorphic_helper.rb', line 4

def polymorphic_selector(form, poly, types, group_method = :all, options = {})
  msg = ""
  # -- object available?
  if form.object.send(poly).present?
    msg += poly_type_display(form, poly)
    msg += poly_id_select(form, poly, form.object.send("#{poly}_type"), :all, options)
  elsif types.size == 0
    # empty
  elsif types.size == 1
    msg += poly_type_display(form, poly, Array(types).first)
    msg += poly_id_select(form, poly, Array(types).first, :all, options)
  else
    msg += poly_type_select(form, poly, types)
    msg += poly_id_select(form, poly, types, group_method, options)
  end
  msg.html_safe
end