Ruby on rails Rails check_box_标记在更新表单时未取消选中该值

Ruby on rails Rails check_box_标记在更新表单时未取消选中该值,ruby-on-rails,forms,Ruby On Rails,Forms,我在html表单中有一个复选框 <input type="checkbox" name="product[product_groups_attributes][2][product_group_items_attributes][2][pre_select]"> 如果我选中了复选框,它会将值更新为true,那么在编辑表单中,我有这个 <%= check_box_tag "product[product_groups_attributes][#{v1}][product_gro

我在html表单中有一个复选框

<input type="checkbox" name="product[product_groups_attributes][2][product_group_items_attributes][2][pre_select]">
如果我选中了复选框,它会将值更新为true,那么在编辑表单中,我有这个

<%= check_box_tag "product[product_groups_attributes][#{v1}][product_group_items_attributes][#{t1}][pre_select]", 1, product_group_item.pre_select %>

但在这里,当我取消选中复选框并提交表单时,值不会更新为false。

这是复选框的默认行为,表单仅在选中复选框时发送数据


您的Rails后端需要检查参数中是否存在复选框,如果不存在,则表示该复选框为false。

您可以在提交表单时显示服务器日志吗?Yes@gwalshington仍然显示0=>{pre_select=>1}请发布完整的服务器日志,以及所有相关代码,如果您想帮助调试:@gwalshington所有其他值都在完美更新,除了这个复选框值,我怀疑复选框出现了问题。如果您提供控制器代码和开发人员日志,这很好。我们可以用属性实现吗?没有JS,这根本不是真的。表单发送所有数据-“false”是数据,就像“true”是数据一样。我没有说表单不会发送所有数据,我说的是未选中的复选框值不会在帖子中发送。您可以使用两个同名单选按钮来实现这一点,并且值为true和false。。。我认为这种说法只适用于某些形式的结构。我没有遇到典型表单的问题,但是这个用户似乎在做一个自定义表单,并且拒绝发布所有代码。。。向上投票支持参考文件: