我在前端有三行复选框
当我检查一些值然后将参数传递给控制器时,它们看起来像数字。例如,
"service_attributes"=>{"id"=>1, "simplicity"=>"1", "convenience"=>"3", "atmosphere"=>"5"}
每次我更改任何一行的值时,记录都会更新,但是当我取消选中选项时,没有传递参数
"service_attributes"=>{"id"=>1}
没有任何反应。记录保留旧值。
如何在取消选中复选框时,记录应该以0值更新。如下所示:
<Service id: 1, simplicity: 0, convenience: 0, atmosphere: 2, user_id: 1>
答案 0 :(得分:1)
您需要添加另一个将值false传递给控制器的字段。
<input name="service_attributes[simplicity]" type="hidden" value="0" />
<input checked="checked" type="checkbox" id="service_attributes_ simplicity" name="service_attributes[simplicity]" value="1" />
或者您可以简单地使用checkbox_helper。