Rails checkbox validation error -
i'm running validation error on checkbox field (perishable can't blank
) when check box unchecked. can check logs , see "perishable"=>"0" gets passed when unchecked, , "perishable"=>"1" when checked. "perishable" white-listed in controller, , works when checkbox checked. what's going on here?
model:
class product < activerecord::base validates_presence_of :perishable end
migration:
class createproducts < activerecord::migration def change create_table :products |t| t.boolean :perishable, :null => false end end end
view:
= f.label :perishable = f.check_box :perishable
rendered view:
<label for="product_perishable">perishable *</label> <input name="product[perishable]" type="hidden" value="0" /> <input id="product_perishable" name="product[perishable]" type="checkbox" value="1" />
you validating presence of boolean field apparently creates problems when false
.
as per this answer:
if want validate presence of boolean field (where real values
true
,false
), want usevalidates_inclusion_of :field_name, :in => [true, false]
.
Comments
Post a Comment