2017-03-13 4 views
0

私は、フロントエンド側のチェックボックスの3行未チェックのチェックボックスを使ってレコードを更新するにはどうすればよいですか?

enter image description here

私はいくつかの値をチェックして、コントローラにパラメータを渡すとき、彼らは数字のように見えるがあります。たとえば、レコードが更新さ

"service_attributes"=>{"id"=>1, "simplicity"=>"1", "convenience"=>"3", "atmosphere"=>"5"} 

私は、行のいずれかの値を変更するたびに、しかし、私はオプションのチェックを外したときに、paramsが

"service_attributes"=>{"id"=>1} 

を渡されていないと何も起こりません。レコードには古い値が残っています。

チェックボックスのチェックを外すと、レコードは0の値で更新されるはずです。次のように:

<Service id: 1, simplicity: 0, convenience: 0, atmosphere: 2, user_id: 1> 

答えて

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を使用することもできます。

+0

必要に応じて機能しましたか? – Jeremie

+0

ありがとう、Jeremie! –

+0

うれしい私は助けることができました! – Jeremie

関連する問題