diff options
author | Josh Susser <josh@hasmanythrough.com> | 2008-08-18 15:56:37 -0700 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-08-21 19:33:25 +0200 |
commit | aee14630d4dc0856e597794cc731fac68c2d2e34 (patch) | |
tree | f3ad416bc299563352fcaa70c1bb15cad6191ca7 /activerecord/lib/active_record/base.rb | |
parent | 8622787f8748434b4ceb2b925a35b17a38e1f2d6 (diff) | |
download | rails-aee14630d4dc0856e597794cc731fac68c2d2e34.tar.gz rails-aee14630d4dc0856e597794cc731fac68c2d2e34.tar.bz2 rails-aee14630d4dc0856e597794cc731fac68c2d2e34.zip |
coerce blank strings to nil values for boolean and integer fields
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'activerecord/lib/active_record/base.rb')
-rw-r--r-- | activerecord/lib/active_record/base.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 15c6bc1b4a..f4f07aa740 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -2572,11 +2572,14 @@ module ActiveRecord #:nodoc: end def convert_number_column_value(value) - case value - when FalseClass; 0 - when TrueClass; 1 - when ''; nil - else value + if value == false + 0 + elsif value == true + 1 + elsif value.is_a?(String) && value.blank? + nil + else + value end end |