Changeset 2718
- Timestamp:
- 10/24/05 16:45:22 (3 years ago)
- Files:
-
- trunk/activerecord/lib/active_record/base.rb (modified) (1 diff)
- trunk/activerecord/test/pk_test.rb (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/activerecord/lib/active_record/base.rb
r2705 r2718 1452 1452 access_code = cast_code ? "(v=@attributes['#{attr_name}']) && #{cast_code}" : "@attributes['#{attr_name}']" 1453 1453 1454 unless symbol == :id1454 unless attr_name.to_s == self.class.primary_key.to_s 1455 1455 access_code = access_code.insert(0, "raise NoMethodError, 'missing attribute: #{attr_name}', caller unless @attributes.has_key?('#{attr_name}'); ") 1456 1456 end trunk/activerecord/test/pk_test.rb
r2639 r2718 1 require 'abstract_unit'1 require "#{File.dirname(__FILE__)}/abstract_unit" 2 2 require 'fixtures/topic' 3 3 require 'fixtures/subscriber' … … 17 17 topic.title = "New Topic" 18 18 assert_equal(nil, topic.id) 19 assert_nothing_raised { topic.save}19 assert_nothing_raised { topic.save! } 20 20 id = topic.id 21 21 … … 26 26 def test_customized_primary_key_auto_assigns_on_save 27 27 keyboard = Keyboard.new(:name => 'HHKB') 28 assert_nothing_raised { keyboard.save } 29 assert keyboard.id 28 assert_nothing_raised { keyboard.save! } 30 29 assert_equal keyboard.id, Keyboard.find_by_name('HHKB').id 31 30 end … … 33 32 def test_customized_primary_key_can_be_get_before_saving 34 33 keyboard = Keyboard.new 35 assert_ respond_to(keyboard, :key_number)36 assert_nothing_raised { keyboard.key_number }34 assert_nil keyboard.id 35 assert_nothing_raised { assert_nil keyboard.key_number } 37 36 end 38 37