From db48ee38471b95cca883217f671d271b6119afc8 Mon Sep 17 00:00:00 2001 From: Sergey Nartimov Date: Thu, 26 Jan 2012 10:12:12 +0300 Subject: call to_s on value passed to table_name= --- activerecord/lib/active_record/model_schema.rb | 2 +- activerecord/test/cases/base_test.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/activerecord/lib/active_record/model_schema.rb b/activerecord/lib/active_record/model_schema.rb index 261f6fa974..61f82af0c3 100644 --- a/activerecord/lib/active_record/model_schema.rb +++ b/activerecord/lib/active_record/model_schema.rb @@ -115,7 +115,7 @@ module ActiveRecord # the documentation for ActiveRecord::Base#table_name. def table_name=(value) @original_table_name = @table_name if defined?(@table_name) - @table_name = value + @table_name = value && value.to_s @quoted_table_name = nil @arel_table = nil @relation = Relation.new(self, arel_table) diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 0ea1b824e1..59d786622e 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1446,6 +1446,11 @@ class BasicsTest < ActiveRecord::TestCase end end + def test_set_table_name_symbol_converted_to_string + Joke.table_name = :cold_jokes + assert_equal 'cold_jokes', Joke.table_name + end + def test_quoted_table_name_after_set_table_name klass = Class.new(ActiveRecord::Base) -- cgit v1.2.3