Class: FormProps::Inputs::CollectionSelect

Inherits:
Base
  • Object
show all
Includes:
ActionView::Helpers::FormOptionsHelper, ActionView::Helpers::Tags::SelectRenderer, FormOptionsHelper, SelectRenderer
Defined in:
lib/form_props/inputs/collection_select.rb

Instance Method Summary collapse

Methods included from SelectRenderer

#add_options, #select_content_props

Methods included from FormOptionsHelper

#extract_selected_and_disabled, #extract_values_from_collection, #grouped_options_for_select, #option_groups_from_collection_for_select, #option_html_attributes, #options_for_select, #options_from_collection_for_select, #selected_values, #time_zone_options_for_select, #value_for_collection, #weekday_options_for_select

Methods inherited from Base

#json

Constructor Details

#initialize(object_name, method_name, template_object, collection, value_method, text_method, options, html_options) ⇒ CollectionSelect

Returns a new instance of CollectionSelect.



13
14
15
16
17
18
19
20
# File 'lib/form_props/inputs/collection_select.rb', line 13

def initialize(object_name, method_name, template_object, collection, value_method, text_method, options, html_options)
  @collection = collection
  @value_method = value_method
  @text_method = text_method
  @html_options = html_options

  super(object_name, method_name, template_object, options)
end

Instance Method Details

#renderObject



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/form_props/inputs/collection_select.rb', line 22

def render
  option_tags_options = {
    selected: @options.fetch(:selected) { value },
    disabled: @options[:disabled]
  }

  select_content_props(
    options_from_collection_for_select(@collection, @value_method, @text_method, option_tags_options),
    @options, @html_options
  )
end