Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
4bb65a8f
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4bb65a8f
编写于
2月 08, 2017
作者:
R
Rafael França
提交者:
GitHub
2月 08, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #27935 from namusyaka/fix-hidden-primary_key
Fix inspection behavior when the :id column is not primary key
上级
47113df0
3df9117a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
18 addition
and
1 deletion
+18
-1
activerecord/CHANGELOG.md
activerecord/CHANGELOG.md
+4
-0
activerecord/lib/active_record/attribute_methods/read.rb
activerecord/lib/active_record/attribute_methods/read.rb
+1
-1
activerecord/test/cases/primary_keys_test.rb
activerecord/test/cases/primary_keys_test.rb
+7
-0
activerecord/test/models/non_primary_key.rb
activerecord/test/models/non_primary_key.rb
+2
-0
activerecord/test/schema/schema.rb
activerecord/test/schema/schema.rb
+4
-0
未找到文件。
activerecord/CHANGELOG.md
浏览文件 @
4bb65a8f
*
Fix inspection behavior when the :id column is not primary key.
*namusyaka*
*
Deprecate locking records with unpersisted changes.
*
Deprecate locking records with unpersisted changes.
*Marc Schütz*
*Marc Schütz*
...
...
activerecord/lib/active_record/attribute_methods/read.rb
浏览文件 @
4bb65a8f
...
@@ -54,7 +54,7 @@ def read_attribute(attr_name, &block)
...
@@ -54,7 +54,7 @@ def read_attribute(attr_name, &block)
attr_name
.
to_s
attr_name
.
to_s
end
end
name
=
self
.
class
.
primary_key
if
name
==
"id"
.
freeze
name
=
self
.
class
.
primary_key
if
name
==
"id"
.
freeze
&&
self
.
class
.
primary_key
_read_attribute
(
name
,
&
block
)
_read_attribute
(
name
,
&
block
)
end
end
...
...
activerecord/test/cases/primary_keys_test.rb
浏览文件 @
4bb65a8f
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
require
"models/keyboard"
require
"models/keyboard"
require
"models/mixed_case_monkey"
require
"models/mixed_case_monkey"
require
"models/dashboard"
require
"models/dashboard"
require
"models/non_primary_key"
class
PrimaryKeysTest
<
ActiveRecord
::
TestCase
class
PrimaryKeysTest
<
ActiveRecord
::
TestCase
fixtures
:topics
,
:subscribers
,
:movies
,
:mixed_case_monkeys
fixtures
:topics
,
:subscribers
,
:movies
,
:mixed_case_monkeys
...
@@ -89,6 +90,12 @@ def test_string_key
...
@@ -89,6 +90,12 @@ def test_string_key
assert_equal
(
"John Doe"
,
subscriberReloaded
.
name
)
assert_equal
(
"John Doe"
,
subscriberReloaded
.
name
)
end
end
def
test_id_column_that_is_not_primary_key
NonPrimaryKey
.
create!
(
id:
100
)
actual
=
NonPrimaryKey
.
find_by
(
id:
100
)
assert_match
%r{<NonPrimaryKey id: 100}
,
actual
.
inspect
end
def
test_find_with_more_than_one_string_key
def
test_find_with_more_than_one_string_key
assert_equal
2
,
Subscriber
.
find
(
subscribers
(
:first
).
nick
,
subscribers
(
:second
).
nick
).
length
assert_equal
2
,
Subscriber
.
find
(
subscribers
(
:first
).
nick
,
subscribers
(
:second
).
nick
).
length
end
end
...
...
activerecord/test/models/non_primary_key.rb
0 → 100644
浏览文件 @
4bb65a8f
class
NonPrimaryKey
<
ActiveRecord
::
Base
end
activerecord/test/schema/schema.rb
浏览文件 @
4bb65a8f
...
@@ -1039,6 +1039,10 @@
...
@@ -1039,6 +1039,10 @@
create_table
:test_with_keyword_column_name
,
force:
true
do
|
t
|
create_table
:test_with_keyword_column_name
,
force:
true
do
|
t
|
t
.
string
:desc
t
.
string
:desc
end
end
create_table
:non_primary_keys
,
force:
true
,
id:
false
do
|
t
|
t
.
integer
:id
end
end
end
Course
.
connection
.
create_table
:courses
,
force:
true
do
|
t
|
Course
.
connection
.
create_table
:courses
,
force:
true
do
|
t
|
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录