Ruby on Rails バリデーションでbooleanを必須にしたい

バリデーションでbooleanの属性を必須にしたくてpresenceを使ったらうまくいかなかった。

# ダメな例
validates :flag, :presence => true

※flagはboolean


どうやらpresenceは空白チェックを行っており、falseは空白と判定されてしまうようだ。

そこで、inclusionを使ったらうまくいった。

validates :flag, :inclusion => {:in => [true, false]}


参考:booleanのvalidation - 中国でRuby on Rails