aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/CHANGELOG11
-rwxr-xr-xactiverecord/lib/active_record/base.rb8
2 files changed, 18 insertions, 1 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG
index 7c032d1a9d..91c6a683b1 100644
--- a/activerecord/CHANGELOG
+++ b/activerecord/CHANGELOG
@@ -1,5 +1,16 @@
*SVN*
+* Added Base#update_attributes that'll accept a hash of attributes and save the record (returning true if it passed validation, false otherwise).
+
+ Before:
+ person.attributes = @params["person"]
+ person.save
+
+ 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.
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index 2bcea9dd5d..81f9f84d21 100755
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -789,7 +789,13 @@ module ActiveRecord #:nodoc:
# Updates a single attribute and saves the record. This is especially useful for boolean flags on existing records.
def update_attribute(name, value)
self[name] = value
- save
+ return save
+ end
+
+ # Updates all the attributes in from the passed hash and saves the record.
+ def update_attributes(attributes)
+ attributes = attributes
+ return save
end
# Returns the value of attribute identified by <tt>attr_name</tt> after it has been type cast (for example,