Perishable can't be blank
当复选框未选中时,我在复选框字段 ( ) 上遇到验证错误。我可以检查日志,看到“perishable”=>“0”在未选中时通过,“perishable”=>“1”在选中时通过。“易腐烂”在控制器中被列入白名单,并且在选中复选框时一切正常。这里发生了什么?
模型:
class Product < ActiveRecord::Base
validates_presence_of :perishable
end
移民:
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.boolean :perishable, :null => false
end
end
end
看法:
= f.label :perishable
= f.check_box :perishable
渲染视图:
<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" />