Class: ActionView::Helpers::Tags::CheckBox

Inherits:
Base show all
Includes:
Checkable
Defined in:
actionview/lib/action_view/helpers/tags/check_box.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 Checkable

#input_checked?

Methods included from FormOptionsHelper

#collection_check_boxes, #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 ActiveSupport::Concern

#append_features, #class_methods, extended, #included, #prepend_features, #prepended

Methods included from OutputSafetyHelper

#raw, #safe_join, #to_sentence

Methods included from ActionView::Helpers::TagHelper

build_tag_values, #cdata_section, #content_tag, #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, #check_box_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_area_tag, #text_field_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, checked_value, unchecked_value, options) ⇒ CheckBox

Returns a new instance of CheckBox.



11
12
13
14
15
# File 'actionview/lib/action_view/helpers/tags/check_box.rb', line 11

def initialize(object_name, method_name, template_object, checked_value, unchecked_value, options)
  @checked_value   = checked_value
  @unchecked_value = unchecked_value
  super(object_name, method_name, template_object, options)
end

Instance Method Details

#renderObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'actionview/lib/action_view/helpers/tags/check_box.rb', line 17

def render
  options = @options.stringify_keys
  options["type"]     = "checkbox"
  options["value"]    = @checked_value
  options["checked"] = "checked" if input_checked?(options)

  if options["multiple"]
    add_default_name_and_id_for_value(@checked_value, options)
    options.delete("multiple")
  else
    add_default_name_and_id(options)
  end

  include_hidden = options.delete("include_hidden") { true }
  checkbox = tag("input", options)

  if include_hidden
    hidden = hidden_field_for_checkbox(options)
    hidden + checkbox
  else
    checkbox
  end
end