Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
08fd9f4f
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,发现更多精彩内容 >>
提交
08fd9f4f
编写于
2月 17, 2016
作者:
B
Benjamin Quorning
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix AC::Parameters#== with other AC::Parameters
Creating a protected getter method for `@parameters`.
上级
9d2ea7f6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
3 deletion
+37
-3
actionpack/lib/action_controller/metal/strong_parameters.rb
actionpack/lib/action_controller/metal/strong_parameters.rb
+4
-3
actionpack/test/controller/parameters/accessors_test.rb
actionpack/test/controller/parameters/accessors_test.rb
+33
-0
未找到文件。
actionpack/lib/action_controller/metal/strong_parameters.rb
浏览文件 @
08fd9f4f
...
...
@@ -144,11 +144,10 @@ def initialize(parameters = {})
end
# Returns true if another +Parameters+ object contains the same content and
# permitted flag, or other Hash-like object contains the same content. This
# override is in place so you can perform a comparison with `Hash`.
# permitted flag, or other Hash-like object contains the same content.
def
==
(
other_hash
)
if
other_hash
.
respond_to?
(
:permitted?
)
s
uper
s
elf
.
permitted?
==
other_hash
.
permitted?
&&
self
.
parameters
==
other_hash
.
parameters
else
if
other_hash
.
is_a?
(
Hash
)
@parameters
==
other_hash
.
with_indifferent_access
...
...
@@ -597,6 +596,8 @@ def method_missing(method_sym, *args, &block)
end
protected
attr_reader
:parameters
def
permitted
=
(
new_permitted
)
@permitted
=
new_permitted
end
...
...
actionpack/test/controller/parameters/accessors_test.rb
浏览文件 @
08fd9f4f
...
...
@@ -135,6 +135,39 @@ class ParametersAccessorsTest < ActiveSupport::TestCase
assert
(
params1
==
hash1
)
end
test
"is equal to Parameters instance with same params"
do
params1
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
)
params2
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
)
assert
(
params1
==
params2
)
end
test
"is equal to Parameters instance with same permitted params"
do
params1
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
).
permit
(
:a
)
params2
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
).
permit
(
:a
)
assert
(
params1
==
params2
)
end
test
"is equal to Parameters instance with same different source params, but same permitted params"
do
params1
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
).
permit
(
:a
)
params2
=
ActionController
::
Parameters
.
new
(
a:
1
,
c:
3
).
permit
(
:a
)
assert
(
params1
==
params2
)
assert
(
params2
==
params1
)
end
test
'is not equal to an unpermitted Parameters instance with same params'
do
params1
=
ActionController
::
Parameters
.
new
(
a:
1
).
permit
(
:a
)
params2
=
ActionController
::
Parameters
.
new
(
a:
1
)
assert
(
params1
!=
params2
)
assert
(
params2
!=
params1
)
end
test
"is not equal to Parameters instance with different permitted params"
do
params1
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
).
permit
(
:a
,
:b
)
params2
=
ActionController
::
Parameters
.
new
(
a:
1
,
b:
2
).
permit
(
:a
)
assert
(
params1
!=
params2
)
assert
(
params2
!=
params1
)
end
test
"equality with simple types works"
do
assert
(
@params
!=
'Hello'
)
assert
(
@params
!=
42
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录