You know the helper for check boxes generates a hidden field with an
In a form with fields like this:
<% fields_for "project[invoice_attributes]", invoice, :index =>
nil do |form| %>
<%= form.check_box :paid %>
the parameters parser gets confused by the pair and puts the checked
value in a hash by itself, see this XML dump:
thus, there's a spurious hash on the one hand, and the actual model
hash gets the unchecked value unconditionally.
Looking at UrlEncodedPairParser#bind in request.rb, my understanding
is that we switch to a new hash when we get a key that exists in the
previous hash (top[-1]). Since at that point there's no knowledge
about what's a check box or boolean model attribute I don't quite see
how that could be addressed.