提交 da6c7bd4 编写于 作者: S Santiago Pastorino

Do not in place modify what table_name returns

上级 e06c4480
......@@ -107,7 +107,7 @@ def define_attr_method(name, value=nil, &block)
sing.send :define_method, name, &block
else
value = value.to_s if value
sing.send(:define_method, name) { value && value.dup }
sing.send(:define_method, name) { value }
end
end
......
......@@ -9,10 +9,6 @@ class << self
define_method(:bar) do
'original bar'
end
define_method(:zomg) do
'original zomg'
end
end
def attributes
......@@ -102,13 +98,6 @@ class AttributeMethodsTest < ActiveModel::TestCase
assert_equal "value of foo bar", ModelWithAttributesWithSpaces.new.send(:'foo bar')
end
def test_defined_methods_always_return_duped_string
ModelWithAttributes.define_attr_method(:zomg, 'lol')
assert_equal 'lol', ModelWithAttributes.zomg
ModelWithAttributes.zomg << 'bbq'
assert_equal 'lol', ModelWithAttributes.zomg
end
test '#define_attr_method generates attribute method' do
ModelWithAttributes.define_attr_method(:bar, 'bar')
......
......@@ -995,7 +995,7 @@ def compute_table_name
if parent < ActiveRecord::Base && !parent.abstract_class?
contained = parent.table_name
contained = contained.singularize if parent.pluralize_table_names
contained << '_'
contained += '_'
end
"#{full_table_name_prefix}#{contained}#{undecorated_table_name(name)}#{table_name_suffix}"
else
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册