From e52ff809606323f7370cfaf6e63b083f9b108d6c Mon Sep 17 00:00:00 2001 From: wangjohn Date: Mon, 18 Feb 2013 20:07:05 -0500 Subject: Raising an ActiveRecordError when one tries to use .touch(name) on a new object that has not yet been persisted. This behavior follows the precedent set by update_columns. --- activerecord/test/cases/base_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'activerecord/test/cases/base_test.rb') diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index fbc66540d6..af1845c937 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1447,6 +1447,13 @@ class BasicsTest < ActiveRecord::TestCase assert_match(/\/#{dev.id}$/, dev.cache_key) end + def test_touch_should_raise_error_on_a_new_object + company = Company.new(:rating => 1, :name => "37signals", :firm_name => "37signals") + assert_raises(ActiveRecord::ActiveRecordError) do + company.touch :updated_at + end + end + def test_cache_key_format_is_precise_enough dev = Developer.first key = dev.cache_key -- cgit v1.2.3