提交 47c9a355 编写于 作者: S Santiago Pastorino 提交者: Pratik Naik

Reset quoted_table_name after set_table_name [#4568 state:resolved]

Signed-off-by: NPratik Naik <pratiknaik@gmail.com>
上级 fa99de0b
...@@ -668,7 +668,6 @@ def reset_table_name #:nodoc: ...@@ -668,7 +668,6 @@ def reset_table_name #:nodoc:
name = "#{full_table_name_prefix}#{contained}#{undecorated_table_name(base.name)}#{table_name_suffix}" name = "#{full_table_name_prefix}#{contained}#{undecorated_table_name(base.name)}#{table_name_suffix}"
end end
@quoted_table_name = nil
set_table_name(name) set_table_name(name)
name name
end end
...@@ -702,6 +701,7 @@ def reset_sequence_name #:nodoc: ...@@ -702,6 +701,7 @@ def reset_sequence_name #:nodoc:
# set_table_name "project" # set_table_name "project"
# end # end
def set_table_name(value = nil, &block) def set_table_name(value = nil, &block)
@quoted_table_name = nil
define_attr_method :table_name, value, &block define_attr_method :table_name, value, &block
end end
alias :table_name= :set_table_name alias :table_name= :set_table_name
......
...@@ -1793,6 +1793,18 @@ def test_set_table_name_with_value ...@@ -1793,6 +1793,18 @@ def test_set_table_name_with_value
assert_equal "bar", k.table_name assert_equal "bar", k.table_name
end end
def test_quoted_table_name_after_set_table_name
klass = Class.new(ActiveRecord::Base)
klass.set_table_name "foo"
assert_equal "foo", klass.table_name
assert_equal klass.connection.quote_table_name("foo"), klass.quoted_table_name
klass.set_table_name "bar"
assert_equal "bar", klass.table_name
assert_equal klass.connection.quote_table_name("bar"), klass.quoted_table_name
end
def test_set_table_name_with_block def test_set_table_name_with_block
k = Class.new( ActiveRecord::Base ) k = Class.new( ActiveRecord::Base )
k.set_table_name { "ks" } k.set_table_name { "ks" }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册