ruby on rails - ror - rieles check_box_tag conjunto verificado con valor predeterminado
rails check_box (6)
Actualmente tengo una llamada check_box_tag de rieles que parece
check_box_tag #{name}
Quiero incluir un atributo marcado, que sé que puedo hacer con
check_box_tag name, value, checked
Pero, ¿qué ocurre si quiero configurarlo como comprobado sin especificar explícitamente el value
(solo quiero usar el valor predeterminado)? O, de manera similar, qué pasa si quisiera especificar las opciones html sin especificar el atributo checked
. ¿Hay alguna forma de hacer esto?
No hay maneras de hacerlo directamente. Pero la implementación de check_box_tag
es trivial, puedes parchearlo o crear tu propio ayudante.
Implementación original:
def check_box_tag(name, value = "1", checked = false, options = {})
html_options = { "type" => "checkbox", "name" => name, "id" => sanitize_to_id(name), "value" => value }.update(options.stringify_keys)
html_options["checked"] = "checked" if checked
tag :input, html_options
end
Si alguien tiene un tipo de columna booleano, mira esto. ¿está chequeado? será el valor booleano por defecto. Funciono para mi
<%= hidden_field_tag :name, ''false'' %> <%= check_box_tag :name, true, is_checked? %>
Si desea que se marque la casilla de verificación,
check_box_tag name, value, {:checked => "checked"}
de otra manera
check_box_tag name, value
Si pasa un valor de "1" al campo de valor, pasará el valor del estado real de la casilla de verificación, independientemente del valor predeterminado marcado:
is_checked = <default boolean>
check_box_tag :show_defaults, ''1'', is_checked
(ahora siempre refleja la entrada del usuario)
Solo quería actualizar esto. El tercer parámetro para check_box_tag
es un valor booleano que representa el estado verificado.
check_box_tag name, value, true
check_box_tag (nombre, valor = "1", marcado = falso, opciones = {})
Ejemplos:
check_box_tag ''receive_email'', ''yes'', true
# => <input checked="checked" id="receive_email" name="receive_email" type="checkbox" value="yes" />
check_box_tag ''tos'', ''yes'', false, class: ''accept_tos''
# => <input class="accept_tos" id="tos" name="tos" type="checkbox" value="yes" />
check_box_tag ''eula'', ''accepted'', false, disabled: true
# => <input disabled="disabled" id="eula" name="eula" type="checkbox" value="accepted" />