Class: ActionView::Helpers::Tags::GroupedCollectionSelect

Inherits:
Base
  • Object
show all
Includes:
FormOptionsHelper, SelectRenderer
Defined in:
lib/action_view/helpers/tags/grouped_collection_select.rb

Overview

:nodoc:

Constant Summary

Constants included from ActionView::Helpers::TagHelper

ActionView::Helpers::TagHelper::ARIA_PREFIXES, ActionView::Helpers::TagHelper::BOOLEAN_ATTRIBUTES, ActionView::Helpers::TagHelper::DATA_PREFIXES, ActionView::Helpers::TagHelper::PRE_CONTENT_STRINGS, ActionView::Helpers::TagHelper::TAG_TYPES

Constants included from ContentExfiltrationPreventionHelper

ContentExfiltrationPreventionHelper::CLOSE_CDATA_COMMENT, ContentExfiltrationPreventionHelper::CLOSE_FORM_TAG, ContentExfiltrationPreventionHelper::CLOSE_OPTION_TAG, ContentExfiltrationPreventionHelper::CLOSE_QUOTES_COMMENT, ContentExfiltrationPreventionHelper::CONTENT_EXFILTRATION_PREVENTION_MARKUP

Constants included from UrlHelper

UrlHelper::BUTTON_TAG_METHOD_VERBS

Instance Attribute Summary

Attributes inherited from Base

#object

Instance Method Summary collapse

Methods included from FormOptionsHelper

#collection_checkboxes, #collection_radio_buttons, #collection_select, #grouped_collection_select, #grouped_options_for_select, #option_groups_from_collection_for_select, #options_for_select, #options_from_collection_for_select, #select, #time_zone_options_for_select, #time_zone_select, #weekday_options_for_select, #weekday_select

Methods included from ActionView::Helpers::TextHelper

#concat, #current_cycle, #cycle, #excerpt, #highlight, #pluralize, #reset_cycle, #safe_concat, #simple_format, #truncate, #word_wrap

Methods included from OutputSafetyHelper

#raw, #safe_join, #to_sentence

Methods included from ActionView::Helpers::TagHelper

build_tag_values, #cdata_section, #content_tag, ensure_valid_html5_tag_name, #escape_once, #tag, #token_list

Methods included from CaptureHelper

#capture, #content_for, #content_for?, #provide, #with_output_buffer

Methods included from SanitizeHelper

#sanitize, #sanitize_css, #strip_links, #strip_tags

Methods included from ActiveModelInstanceTag

#content_tag, #error_message, #error_wrapping, #object, #tag

Methods included from FormTagHelper

#button_tag, #checkbox_tag, #color_field_tag, #date_field_tag, #datetime_field_tag, #email_field_tag, #field_id, #field_name, #field_set_tag, #file_field_tag, #form_tag, #hidden_field_tag, #image_submit_tag, #label_tag, #month_field_tag, #number_field_tag, #password_field_tag, #radio_button_tag, #range_field_tag, #search_field_tag, #select_tag, #submit_tag, #telephone_field_tag, #text_field_tag, #textarea_tag, #time_field_tag, #url_field_tag, #utf8_enforcer_tag, #week_field_tag

Methods included from ContentExfiltrationPreventionHelper

#prevent_content_exfiltration

Methods included from UrlHelper

#button_to, #current_page?, #link_to, #link_to_if, #link_to_unless, #link_to_unless_current, #mail_to, #phone_to, #sms_to, #url_for

Constructor Details

#initialize(object_name, method_name, template_object, collection, group_method, group_label_method, option_key_method, option_value_method, options, html_options) ⇒ GroupedCollectionSelect

Returns a new instance of GroupedCollectionSelect.



10
11
12
13
14
15
16
17
18
19
# File 'lib/action_view/helpers/tags/grouped_collection_select.rb', line 10

def initialize(object_name, method_name, template_object, collection, group_method, group_label_method, option_key_method, option_value_method, options, html_options)
  @collection          = collection
  @group_method        = group_method
  @group_label_method  = group_label_method
  @option_key_method   = option_key_method
  @option_value_method = option_value_method
  @html_options        = html_options

  super(object_name, method_name, template_object, options)
end

Instance Method Details

#renderObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/action_view/helpers/tags/grouped_collection_select.rb', line 21

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

  (
    option_groups_from_collection_for_select(@collection, @group_method, @group_label_method, @option_key_method, @option_value_method, option_tags_options), @options, @html_options
  )
end