为什么check_box表单辅助生成两个复选框,一个隐藏?(Why does the check_b

2019-06-26 09:07发布

此代码:= form_fo:store_products做| F | = f.check_box:track_inventory

创建这个网站:

<input name="product_group[products_attributes][0][store_products_attributes}[1342647745501][track_inventory]" type="hidden" value="0">

<input id="product_group_products_attributes_0_store_products_attributes_1342647745501_track_inventory" name="product_group[products_attributes][0][store_products_attributes][1342647745501][track_inventory]" type="checkbox" value="1">

什么是第一个隐藏元素的原因是什么?

Answer 1:

HTML规范说,选中复选框不应该被化网页浏览器发送。 这意味着,如果不加以控制,轨道不接收的形式复选框是否选中记录。 这将是重要的,例如,如果用户编辑其中的复选框,以前检查的记录,他们决定取消它 - 轨道就不知道该更新该属性。

隐藏字段具有相同的名称作为复选框,因此,如果不发送该复选框,hidden_​​field被发送,而不是(具有“0”,这意味着未选中的值)。 这样一来,轨道总会接收的信号来作为该复选框是否被选中或取消选中。

更多信息请参见疑难杂症在APIDock



文章来源: Why does the check_box form helper generate two checkboxes, one hidden?