diff options
author | Sen-Zhang <solowolf21@126.com> | 2016-04-11 19:33:52 -0700 |
---|---|---|
committer | Sen-Zhang <solowolf21@126.com> | 2016-04-11 19:33:52 -0700 |
commit | 051d859880dde2896cc5417844e566569466b28c (patch) | |
tree | 722bca7509c744492ca880192b694bdd502c80d3 | |
parent | db9bc8097399aab9c866175b12e9e099b6c83ffa (diff) | |
download | rails-051d859880dde2896cc5417844e566569466b28c.tar.gz rails-051d859880dde2896cc5417844e566569466b28c.tar.bz2 rails-051d859880dde2896cc5417844e566569466b28c.zip |
prevent 'attribute_changed?' from returning nil
-rw-r--r-- | activemodel/lib/active_model/dirty.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/dirty_test.rb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/activemodel/lib/active_model/dirty.rb b/activemodel/lib/active_model/dirty.rb index fad4de9df5..9aca5f2c90 100644 --- a/activemodel/lib/active_model/dirty.rb +++ b/activemodel/lib/active_model/dirty.rb @@ -180,7 +180,7 @@ module ActiveModel result &&= options[:to] == __send__(attr) if options.key?(:to) result &&= options[:from] == changed_attributes[attr] if options.key?(:from) end - result + !!result end # Handles <tt>*_was</tt> for +method_missing+. diff --git a/activerecord/test/cases/dirty_test.rb b/activerecord/test/cases/dirty_test.rb index cd1967c373..a3f8d26100 100644 --- a/activerecord/test/cases/dirty_test.rb +++ b/activerecord/test/cases/dirty_test.rb @@ -37,8 +37,8 @@ class DirtyTest < ActiveRecord::TestCase def test_attribute_changes # New record - no changes. pirate = Pirate.new - assert !pirate.catchphrase_changed? - assert_nil pirate.catchphrase_change + assert_equal false, pirate.catchphrase_changed? + assert_equal false, pirate.non_validated_parrot_id_changed? # Change catchphrase. pirate.catchphrase = 'arrr' |