Parent

Files

Class/Module Index [+]

Quicksearch

ActionView::Helpers::InstanceTag

Backport Rails fix to checkbox tag element, which does not generate the hidden input when given nil as unchecked value. This is to make SimpleForm collection check boxes helper to work fine with nested boolean style, when they are wrapped in labels. Without that, clicking in the label would actually change the hidden input, instead of the checkbox. FIXME: remove when support only Rails >= 3.2.2.

Public Instance Methods

to_check_box_tag(options = {}, checked_value = "1", unchecked_value = "0") click to toggle source
# File lib/simple_form/action_view_extensions/builder.rb, line 332
def to_check_box_tag(options = {}, checked_value = "1", unchecked_value = "0")
  options = options.stringify_keys
  options["type"]     = "checkbox"
  options["value"]    = checked_value
  if options.has_key?("checked")
    cv = options.delete "checked"
    checked = cv == true || cv == "checked"
  else
    checked = self.class.check_box_checked?(value(object), checked_value)
  end
  options["checked"] = "checked" if checked
  if options["multiple"]
    add_default_name_and_id_for_value(checked_value, options)
    options.delete("multiple")
  else
    add_default_name_and_id(options)
  end
  hidden = unchecked_value ? tag("input", "name" => options["name"], "type" => "hidden", "value" => unchecked_value, "disabled" => options["disabled"]) : "".html_safe
  checkbox = tag("input", options)
  hidden + checkbox
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.