Module: RailsPolymorphicSelect::FormBuilder

Defined in:
lib/rails_polymorphic_select/form_builder.rb

Constant Summary collapse

LABEL_NAME_METHODS =
[
  :to_label,
  :display_name,
  :label,
  :name,
  :title,
  :username,
  :login,
  :value,
  :to_s
]

Instance Method Summary collapse

Instance Method Details

#polymorphic_select(method_name, models, options = {}, html_options = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/rails_polymorphic_select/form_builder.rb', line 15

def polymorphic_select(method_name, models, options = {}, html_options = {})
  label_method = options.delete(:label_method)

  choices = models.map do |model_class|
    [model_class.model_name.human, model_class.all.map { |record|
      [label_for(record, label_method), record.to_global_id]
    }]
  end

  select(method_name, choices, options, html_options)
end