Skip to content
Browse files

Base#update_attribute isnt subject to validation

git-svn-id: 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 3bef4c2 commit d678997688f2e455088cd09b0edd25c7f96c3787 @dhh dhh committed
Showing with 5 additions and 4 deletions.
  1. +0 −2 activerecord/CHANGELOG
  2. +5 −2 activerecord/lib/active_record/base.rb
2 activerecord/CHANGELOG
@@ -9,8 +9,6 @@
-* Added a return value for Base#update_attribute, so that you get to know whether the save was successful or if it failed validation.
* Added Base.destroy and Base.delete to remove records without holding a reference to them first.
7 activerecord/lib/active_record/base.rb
@@ -787,12 +787,15 @@ def clone
# Updates a single attribute and saves the record. This is especially useful for boolean flags on existing records.
+ # Note: This method is overwritten by the Validation module that'll make sure that updates made with this method
+ # doesn't get subjected to validation checks. Hence, attributes can be updated even if the full object isn't valid.
def update_attribute(name, value)
self[name] = value
- return save
+ return true
- # Updates all the attributes in from the passed hash and saves the record.
+ # Updates all the attributes in from the passed hash and saves the record. If the object is invalid, the saving will
+ # fail and false will be returned.
def update_attributes(attributes)
self.attributes = attributes
return save

0 comments on commit d678997

Please sign in to comment.
Something went wrong with that request. Please try again.