提交 099a210c 编写于 作者: A Aaron Patterson

if there is no base name, we cannot determine a primary key

上级 05168067
......@@ -24,11 +24,13 @@ def reset_primary_key #:nodoc:
end
def get_primary_key(base_name) #:nodoc:
return unless base_name
case primary_key_prefix_type
when :table_name
base_name.to_s.foreign_key(false)
base_name.foreign_key(false)
when :table_name_with_underscore
base_name.to_s.foreign_key
base_name.foreign_key
else
'id'
end
......
......@@ -1069,6 +1069,7 @@ def test_define_attr_method_with_value
def test_define_attr_method_with_block
k = Class.new( ActiveRecord::Base )
k.primary_key = "id"
k.send(:define_attr_method, :primary_key) { "sys_" + original_primary_key }
assert_equal "sys_id", k.primary_key
end
......@@ -1109,6 +1110,7 @@ def test_set_primary_key_with_value
def test_set_primary_key_with_block
k = Class.new( ActiveRecord::Base )
k.primary_key = 'id'
k.set_primary_key { "sys_" + original_primary_key }
assert_equal "sys_id", k.primary_key
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册