diff options
author | Dmitry Polushkin <dmitry.polushkin@gmail.com> | 2011-10-05 17:35:59 +0100 |
---|---|---|
committer | Dmitry Polushkin <dmitry.polushkin@gmail.com> | 2011-10-05 17:35:59 +0100 |
commit | 84eece0a823e9c601ea99a8709f24605a19bcbfd (patch) | |
tree | 12ac66c6404f35faddd06617987ad6db76b11406 /activerecord/lib/active_record/base.rb | |
parent | 19965402b2f868c79d78269ca17cb6282f271382 (diff) | |
parent | c495bfc127405f7ead0d1c275c4d75682a51e00e (diff) | |
download | rails-84eece0a823e9c601ea99a8709f24605a19bcbfd.tar.gz rails-84eece0a823e9c601ea99a8709f24605a19bcbfd.tar.bz2 rails-84eece0a823e9c601ea99a8709f24605a19bcbfd.zip |
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'activerecord/lib/active_record/base.rb')
-rw-r--r-- | activerecord/lib/active_record/base.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 78159d13d4..137b4c6534 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -708,7 +708,7 @@ module ActiveRecord #:nodoc: # Returns an array of column objects for the table associated with this class. def columns if defined?(@primary_key) - connection_pool.primary_keys[table_name] ||= primary_key + connection_pool.primary_keys[table_name] ||= @primary_key end connection_pool.columns[table_name] @@ -953,7 +953,7 @@ module ActiveRecord #:nodoc: # objects of different types from the same table. def instantiate(record) sti_class = find_sti_class(record[inheritance_column]) - record_id = sti_class.primary_key && record[sti_class.primary_key] + record_id = sti_class.primary_key? && record[sti_class.primary_key] if ActiveRecord::IdentityMap.enabled? && record_id if (column = sti_class.columns_hash[sti_class.primary_key]) && column.number? @@ -1941,8 +1941,9 @@ MSG # The primary key and inheritance column can never be set by mass-assignment for security reasons. def self.attributes_protected_by_default - default = [ primary_key, inheritance_column ] - default << 'id' unless primary_key.eql? 'id' + default = [ inheritance_column ] + default << primary_key if primary_key? + default << 'id' unless primary_key? && primary_key == 'id' default end |