Many people who aren’t too familiar with the Ruby on Rails framework may do well to learn about a convenient little trick they do with submitting check boxes.
In HTML, when you click a check box and submit it, by default, the value POSTed is “1” – and if you do not click it, nothing is submitted. This sometimes makes keeping track of check boxes difficult.
To combat this, Rails puts a hidden field before the check box, with the same name as the check box, with a value of zero.
Click this to set my_ckbx to 1
Now when the form loads, my_chbx is defaulted to “0”. If you choose to click the check box, my_ckbx will be set to “1”, if not, it will remain “0”. No matter what, my_ckbx will POST a value.