如何使用未选中的复选框更新记录?

时间:2017-03-13 05:59:11

标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-5

我在前端有三行复选框

enter image description here

当我检查一些值然后将参数传递给控制器​​时,它们看起来像数字。例如,

"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>

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