这段代码:
=form_fo :store_products 做 |f|
= f.check_box :track_inventory
创建这个 html:
<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">
第一个隐藏元素的原因是什么?
HTML 规范规定网络浏览器不应发送未选中的复选框。这意味着,如果未选中,rails 不会收到有关表单上的复选框是否未选中的记录。这很重要,例如,如果用户正在编辑一条记录,其中之前选中了该复选框,并且他们决定取消选中它 - Rails 不知道要更新此属性。
隐藏字段与复选框同名,因此如果未发送复选框,则会发送hidden_field(值为“0”,表示未选中)。这样,rails 将始终收到有关复选框是否已选中或未选中的信号。
有关此问题的更多信息,请访问APIDock
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)