Al realizar la validación con presence, cuando el valor del campo es false se cree que es un objecto no valido, pensando que es nulo.
validates :campo_booleano, presence:true
Usando una de estas dos validaciones, nos aseguramos que el valor NO es nulo.
validates :campo_booleano, inclusion: { in: [true, false] } validates :campo_booleano, exclusion: { in: [nil] }