2012-08-03 17 views
15

Actualmente tengo check_box_tag unos raíles de llamadas que se parece arieles check_box_tag set comprobado con valor predeterminado

check_box_tag #{name} 

quiero incluir un atributo comprobado, que sé que puedo hacer con

check_box_tag name, value, checked 

Pero ¿Qué sucede si quiero configurarlo para que se compruebe sin especificar explícitamente value (solo quiero usar el valor predeterminado). O similarmente, ¿qué ocurre si quiero especificar las opciones html sin especificar el atributo checked? ¿Hay alguna forma de hacer esto?

+0

I no entiendo por qué no quieres establecer un valor. ¿Puedes dar un caso de uso? – Dougui

+0

O digamos que quiero establecer un atributo HTML sin especificar explícitamente el estado comprobado (solo quiero usar el valor predeterminado): el mismo problema, creo. –

Respuesta

3

No hay formas de hacerlo directamente. Pero la implementación de es trivial, puede parchearlo o crear su propio ayudante.

aplicació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 
7

Si desea que la casilla de verificación para comprobar, a continuación,

check_box_tag name, value, {:checked => "checked"} 

lo contrario

check_box_tag name, value 
10

Sólo quería actualizar esta. El tercer parámetro para es un valor booleano que representa el estado verificado.

check_box_tag name, value, true 
1

Si alguien tiene tipo de columna booleana, mire esto. ¿está chequeado? será el valor booleano predeterminado. Funcionó para mí

<%= hidden_field_tag :name, 'false' %> <%= check_box_tag :name, true, is_checked? %>

2

check_box_tag (nombre, valor = "1", comprueba = false, OPTIONS = {})

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" /> 

api.rubyonrails.org

Cuestiones relacionadas