Class: ActionView::Helpers::Tags::Select

Inherits:
Base
  • Object
show all
Includes:
FormOptionsHelper, SelectRenderer
Defined in:
lib/action_view/helpers/tags/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, choices, options, html_options) ⇒ Select

Returns a new instance of Select.



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

def initialize(object_name, method_name, template_object, choices, options, html_options)
  @choices = block_given? ? template_object.capture { yield || "" } : choices
  @choices = @choices.to_a if @choices.is_a?(Range)

  @html_options = html_options

  super(object_name, method_name, template_object, options)
end

Instance Method Details

#renderObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/action_view/helpers/tags/select.rb', line 19

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

  option_tags = if grouped_choices?
    grouped_options_for_select(@choices, option_tags_options)
  else
    options_for_select(@choices, option_tags_options)
  end

  (option_tags, @options, @html_options)
end