diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 089955b974..61ecb3fd16 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added type conversion before saving a record, so string-based values like "10.0" aren't left for the database to convert #820 [dave@cherryville.org] + * Added with additional settings for working with transactional fixtures and pre-loaded test databases #865 [mindel] * Fixed acts_as_list to trigger remove_from_list on destroy after the fact, not before, so a unique position can be maintained #871 [Alisdair McDiarmid] diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index f85cad1f98..a60741fc21 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -1241,7 +1241,7 @@ module ActiveRecord #:nodoc: def attributes_with_quotes(include_primary_key = true) columns_hash = self.class.columns_hash - attrs_quoted = @attributes.inject({}) do |attrs_quoted, pair| + attrs_quoted = attributes.inject({}) do |attrs_quoted, pair| attrs_quoted[pair.first] = quote(pair.last, columns_hash[pair.first]) unless !include_primary_key && pair.first == self.class.primary_key attrs_quoted end diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index ac58b60e8d..0ed496ea43 100755 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -179,7 +179,7 @@ module ActiveRecord case type when :string then value when :text then value - when :integer then value.to_i + when :integer then value.to_i rescue value ? 1 : 0 when :float then value.to_f when :datetime then string_to_time(value) when :timestamp then string_to_time(value)