Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Base#update_attribute isnt subject to validation

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@210 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit d678997688f2e455088cd09b0edd25c7f96c3787 1 parent 3bef4c2
@dhh dhh authored
View
2  activerecord/CHANGELOG
@@ -9,8 +9,6 @@
Now:
person.update_attributes(@params["person"])
-* 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.
View
7 activerecord/lib/active_record/base.rb
@@ -787,12 +787,15 @@ def clone
end
# 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
end
- # 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
Please sign in to comment.
Something went wrong with that request. Please try again.