Skip to content

Commit 47c9a35

Browse files
spastorinolifo
authored andcommitted
Reset quoted_table_name after set_table_name [rails#4568 state:resolved]
Signed-off-by: Pratik Naik <[email protected]>
1 parent fa99de0 commit 47c9a35

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

activerecord/lib/active_record/base.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,6 @@ def reset_table_name #:nodoc:
668668
name = "#{full_table_name_prefix}#{contained}#{undecorated_table_name(base.name)}#{table_name_suffix}"
669669
end
670670

671-
@quoted_table_name = nil
672671
set_table_name(name)
673672
name
674673
end
@@ -702,6 +701,7 @@ def reset_sequence_name #:nodoc:
702701
# set_table_name "project"
703702
# end
704703
def set_table_name(value = nil, &block)
704+
@quoted_table_name = nil
705705
define_attr_method :table_name, value, &block
706706
end
707707
alias :table_name= :set_table_name

activerecord/test/cases/base_test.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,6 +1793,18 @@ def test_set_table_name_with_value
17931793
assert_equal "bar", k.table_name
17941794
end
17951795

1796+
def test_quoted_table_name_after_set_table_name
1797+
klass = Class.new(ActiveRecord::Base)
1798+
1799+
klass.set_table_name "foo"
1800+
assert_equal "foo", klass.table_name
1801+
assert_equal klass.connection.quote_table_name("foo"), klass.quoted_table_name
1802+
1803+
klass.set_table_name "bar"
1804+
assert_equal "bar", klass.table_name
1805+
assert_equal klass.connection.quote_table_name("bar"), klass.quoted_table_name
1806+
end
1807+
17961808
def test_set_table_name_with_block
17971809
k = Class.new( ActiveRecord::Base )
17981810
k.set_table_name { "ks" }

0 commit comments

Comments
 (0)