ruby on rails 3 - rails - Rieles 3: cómo guardar casillas de verificación(no)?
rails checkbox tag (1)
Esto sucede porque una casilla de verificación sin marcar no enviará ningún valor al servidor. Para eludir esto, Rails proporciona el check_box
helper, que genera un código como este:
<input type="hidden" name="model[attr]" value="0" />
<input type="checkbox" name="model[attr]" value="1" />
Alternativamente, inserte un campo oculto con hidden_field_tag
:
<%= hidden_field_tag ''model_name[column_name]'', ''0'' %>
<%= check_box_tag ''model_name[column_name]'', 1, (@data.model_name.column_name == 1 ? true : false) %>
Tengo en un formulario ( form_tag ) varias casillas de verificación como esta:
<%=check_box_tag ''model_name[column_name]'', 1, (@data.model_name.column_name == 1 ? true : false)%>
Y actualizándolos como:
variable = ModelName.find(params[:id])
variable.update_attributes(params[:model_name])
Esto funciona solo en un momento, cuando marque algunas casillas de verificación; envíelas y se guardarán. Esta bien. Pero cuando desactivo todas las casillas de verificación, envíe el formulario, para que no pase nada, en la tabla DB no se establecerá el valor 0 en las columnas ...
¿Podría darme algún consejo, cómo solucionarlo?
Gracias de antemano