Hi fantastic rails core developers.

Speaking of version 2.3.5:

I find it rather error_prone that values such that "some text" is
silently converted to false when stored in a boolean DB field.

Among other things it means that assign "some text" to boolean fields
on a model will not generate any validation messages (it will silently
be converted to false).

I think it is like silently swallowing exception without knowing what
to do about them.

I will suggest to modify the existing implementation of 
ActiveRecord::ConnectionAdapters::Column::value_to_boolean

to
ActiveRecord::ConnectionAdapters::Column.class_eval %q{
  def self.value_to_boolean(value)
    case value
    when *TRUE_VALUES.to_a: true
    when *FALSE_VALUES.to_a: false
    else nil
    end
  end
}

First of all it simplifies the implementation (getting rid of initial
if. secondly it will at least result in nil if value is neither
recognised among TRUE_VALUES nor FALSE_VALUES