Permalink
Browse files

r4889@ks: jeremy | 2006-07-31 20:27:15 -0700

 Create and update return the new pk and the number of affected rows, respectively. The job of returning true to appease the validations chain is up to create_or_update.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4645 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 58b996f commit 9ee5d54e4db5d8448d643fbeece6d42cc7179c7a @jeremy jeremy committed Aug 1, 2006
Showing with 6 additions and 6 deletions.
  1. +6 −6 activerecord/lib/active_record/base.rb
@@ -1707,26 +1707,27 @@ def readonly! #:nodoc:
private
def create_or_update
if new_record? then create else update end
+ true
end
# Updates the associated record with values matching those of the instance attributes.
+ # Returns the number of affected rows.
def update
connection.update(
"UPDATE #{self.class.table_name} " +
"SET #{quoted_comma_pair_list(connection, attributes_with_quotes(false))} " +
"WHERE #{self.class.primary_key} = #{quote(id)}",
"#{self.class.name} Update"
)
-
- return true
end
- # Creates a new record with values matching those of the instance attributes.
+ # Creates a record with values matching those of the instance attributes
+ # and returns its id.
def create
if self.id.nil? && connection.prefetch_primary_key?(self.class.table_name)
self.id = connection.next_sequence_value(self.class.sequence_name)
end
-
+
self.id = connection.insert(
"INSERT INTO #{self.class.table_name} " +
"(#{quoted_column_names.join(', ')}) " +
@@ -1736,8 +1737,7 @@ def create
)
@new_record = false
-
- return true
+ id
end
# Sets the attribute used for single table inheritance to this class name if this is not the ActiveRecord descendent.

0 comments on commit 9ee5d54

Please sign in to comment.