From 1849665f738cf7b3650e508b05380ebb36748f9e Mon Sep 17 00:00:00 2001 From: Henrik N Date: Sun, 28 Oct 2012 17:48:04 +0100 Subject: Enable update_column(s) for the primary key attribute. Didn't work before because it updated the model-in-memory first, so the DB query couldn't find the record. --- activerecord/lib/active_record/persistence.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'activerecord/lib') diff --git a/activerecord/lib/active_record/persistence.rb b/activerecord/lib/active_record/persistence.rb index 611d3d97c3..c336e1f5bb 100644 --- a/activerecord/lib/active_record/persistence.rb +++ b/activerecord/lib/active_record/persistence.rb @@ -224,11 +224,13 @@ module ActiveRecord verify_readonly_attribute(key.to_s) end + updated_count = self.class.where(self.class.primary_key => id).update_all(attributes) + attributes.each do |k,v| raw_write_attribute(k,v) end - self.class.where(self.class.primary_key => id).update_all(attributes) == 1 + updated_count == 1 end # Initializes +attribute+ to zero if +nil+ and adds the value passed as +by+ (default is 1). -- cgit v1.2.3