Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
76281aa4
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,体验更适合开发者的 AI 搜索 >>
提交
76281aa4
编写于
9月 21, 2020
作者:
J
jasl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Model#find with hash argument should raise RecordNotFoundError instead of NoMethodError
上级
7cdc1744
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
1 deletion
+6
-1
activerecord/lib/active_record/relation/finder_methods.rb
activerecord/lib/active_record/relation/finder_methods.rb
+1
-1
activerecord/test/cases/finder_test.rb
activerecord/test/cases/finder_test.rb
+5
-0
未找到文件。
activerecord/lib/active_record/relation/finder_methods.rb
浏览文件 @
76281aa4
...
...
@@ -336,7 +336,7 @@ def raise_record_not_found_exception!(ids = nil, result_size = nil, expected_siz
error
=
+
"Couldn't find
#{
name
}
"
error
<<
" with
#{
conditions
}
"
if
conditions
raise
RecordNotFound
.
new
(
error
,
name
,
key
)
elsif
Array
(
ids
).
size
==
1
elsif
Array
.
wrap
(
ids
).
size
==
1
error
=
"Couldn't find
#{
name
}
with '
#{
key
}
'=
#{
ids
}#{
conditions
}
"
raise
RecordNotFound
.
new
(
error
,
name
,
key
,
ids
)
else
...
...
activerecord/test/cases/finder_test.rb
浏览文件 @
76281aa4
...
...
@@ -44,6 +44,11 @@ def test_find
assert_equal
(
topics
(
:first
).
title
,
Topic
.
find
(
1
).
title
)
end
def
test_find_with_hash_parameter
assert_raises
(
ActiveRecord
::
RecordNotFound
)
{
Post
.
find
(
foo:
"bar"
)
}
assert_raises
(
ActiveRecord
::
RecordNotFound
)
{
Post
.
find
(
foo:
"bar"
,
bar:
"baz"
)
}
end
def
test_find_with_proc_parameter_and_block
exception
=
assert_raises
(
RuntimeError
)
do
Topic
.
all
.
find
(
->
{
raise
"should happen"
})
{
|
e
|
e
.
title
==
"non-existing-title"
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录