class ActionView::Helpers::InstanceTag

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

def to_check_box_tag(options = {}, checked_value = "1", unchecked_value = "0")

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