Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
4ff5f6a1
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,发现更多精彩内容 >>
提交
4ff5f6a1
编写于
12月 31, 2015
作者:
K
Kasper Timm Hansen
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #22850 from prathamesh-sonpatki/fix_ac_params_unsafe_h_2
Fix AC::Parameters#to_unsafe_h to return all unfiltered values
上级
fb213257
28f648db
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
6 deletion
+22
-6
actionpack/CHANGELOG.md
actionpack/CHANGELOG.md
+8
-0
actionpack/lib/action_controller/metal/strong_parameters.rb
actionpack/lib/action_controller/metal/strong_parameters.rb
+6
-6
actionpack/test/controller/parameters/parameters_permit_test.rb
...pack/test/controller/parameters/parameters_permit_test.rb
+8
-0
未找到文件。
actionpack/CHANGELOG.md
浏览文件 @
4ff5f6a1
*
Fix
`ActionController::Parameters#convert_parameters_to_hashes`
to return filtered
or unfiltered values based on from where it is called,
`to_h`
or
`to_unsafe_h`
respectively.
Fixes #22841
*Prathamesh Sonpatki*
*
Add
`ActionController::Parameters#include?`
*Justin Coyne*
...
...
actionpack/lib/action_controller/metal/strong_parameters.rb
浏览文件 @
4ff5f6a1
...
...
@@ -176,7 +176,7 @@ def ==(other_hash)
# safe_params.to_h # => {"name"=>"Senjougahara Hitagi"}
def
to_h
if
permitted?
convert_parameters_to_hashes
(
@parameters
)
convert_parameters_to_hashes
(
@parameters
,
:to_h
)
else
slice
(
*
self
.
class
.
always_permitted_parameters
).
permit!
.
to_h
end
...
...
@@ -186,7 +186,7 @@ def to_h
# <tt>ActiveSupport::HashWithIndifferentAccess</tt> representation of this
# parameter.
def
to_unsafe_h
convert_parameters_to_hashes
(
@parameters
)
convert_parameters_to_hashes
(
@parameters
,
:to_unsafe_h
)
end
alias_method
:to_unsafe_hash
,
:to_unsafe_h
...
...
@@ -595,16 +595,16 @@ def new_instance_with_inherited_permitted_status(hash)
end
end
def
convert_parameters_to_hashes
(
value
)
def
convert_parameters_to_hashes
(
value
,
using
)
case
value
when
Array
value
.
map
{
|
v
|
convert_parameters_to_hashes
(
v
)
}
value
.
map
{
|
v
|
convert_parameters_to_hashes
(
v
,
using
)
}
when
Hash
value
.
transform_values
do
|
v
|
convert_parameters_to_hashes
(
v
)
convert_parameters_to_hashes
(
v
,
using
)
end
.
with_indifferent_access
when
Parameters
value
.
to_h
value
.
send
(
using
)
else
value
end
...
...
actionpack/test/controller/parameters/parameters_permit_test.rb
浏览文件 @
4ff5f6a1
...
...
@@ -298,6 +298,14 @@ def assert_filtered_out(params, key)
assert_not
@params
.
to_unsafe_h
.
is_a?
ActionController
::
Parameters
end
test
"to_unsafe_h returns unfiltered params even after accessing few keys"
do
params
=
ActionController
::
Parameters
.
new
(
"f"
=>
{
"language_facet"
=>
[
"Tibetan"
]})
expected
=
{
"f"
=>
{
"language_facet"
=>
[
"Tibetan"
]}}
assert
params
[
'f'
].
is_a?
ActionController
::
Parameters
assert_equal
expected
,
params
.
to_unsafe_h
end
test
"to_h only deep dups Ruby collections"
do
company
=
Class
.
new
do
attr_reader
:dupped
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录