チェックボックスをオフにすると、チェックボックス フィールド ( ) で検証エラーが発生しますPerishable can't be blank
。ログを確認すると、チェックを外すと「腐りやすい」=>「0」が渡され、チェックすると「腐りやすい」=>「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" />