diff options
author | Sean Griffin <sean@thoughtbot.com> | 2014-06-26 09:36:40 -0600 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2014-06-26 09:43:35 -0600 |
commit | 3bc314e65830dabd7b1c47ad1fa27be5ace0699f (patch) | |
tree | a34a12dd12aca74f837f48bdfd125830e1766744 /activerecord/test/cases/attribute_methods_test.rb | |
parent | 031588ebe6b449bcba6e3becfaff6978ba10464a (diff) | |
download | rails-3bc314e65830dabd7b1c47ad1fa27be5ace0699f.tar.gz rails-3bc314e65830dabd7b1c47ad1fa27be5ace0699f.tar.bz2 rails-3bc314e65830dabd7b1c47ad1fa27be5ace0699f.zip |
Move writing unknown column exception to null attribute
Making this change revealed several subtle bugs related to models with
no primary key, and anonymous classes. These have been fixed as well,
with regression tests added.
Diffstat (limited to 'activerecord/test/cases/attribute_methods_test.rb')
-rw-r--r-- | activerecord/test/cases/attribute_methods_test.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/attribute_methods_test.rb b/activerecord/test/cases/attribute_methods_test.rb index 7566af920f..2048e0d5ad 100644 --- a/activerecord/test/cases/attribute_methods_test.rb +++ b/activerecord/test/cases/attribute_methods_test.rb @@ -253,6 +253,15 @@ class AttributeMethodsTest < ActiveRecord::TestCase assert_equal @loaded_fixtures['computers']['workstation'].to_hash, Computer.first.attributes end + def test_attributes_without_primary_key + klass = Class.new(ActiveRecord::Base) do + self.table_name = 'developers_projects' + end + + assert_equal klass.column_names, klass.new.attributes.keys + assert_not klass.new.attributes.key?('id') + end + def test_hashes_not_mangled new_topic = { :title => "New Topic" } new_topic_values = { :title => "AnotherTopic" } |