diff options
-rwxr-xr-x | activerecord/lib/active_record/base.rb | 4 | ||||
-rwxr-xr-x | activerecord/test/base_test.rb | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 135d2288bf..1b554b650a 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -912,9 +912,11 @@ module ActiveRecord #:nodoc: super elsif abstract_class? "#{super}(abstract)" - else + elsif table_exists? attr_list = columns.map { |c| "#{c.name}: #{c.type}" } * ', ' "#{super}(#{attr_list})" + else + "#{super}(Table doesn't exist)" end end diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb index 2851665345..2701a2692d 100755 --- a/activerecord/test/base_test.rb +++ b/activerecord/test/base_test.rb @@ -1696,6 +1696,10 @@ class BasicsTest < Test::Unit::TestCase assert_equal %(#<Topic id: 1>), Topic.find(:first, :select => 'id', :conditions => 'id = 1').inspect assert_equal %(#<Topic id: 1, title: "The First Topic">), Topic.find(:first, :select => 'id, title', :conditions => 'id = 1').inspect end + + def test_inspect_class_without_table + assert_equal "NonExistentTable(Table doesn't exist)", NonExistentTable.inspect + end def test_attribute_for_inspect t = topics(:first) |