Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
1ee9b40b
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,发现更多精彩内容 >>
提交
1ee9b40b
编写于
12月 02, 2009
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Failing tests for to_param/to_query not escaping "[]"
上级
49e943c4
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
6 addition
and
6 deletion
+6
-6
activesupport/lib/active_support/core_ext/object/to_param.rb
activesupport/lib/active_support/core_ext/object/to_param.rb
+1
-1
activesupport/lib/active_support/core_ext/object/to_query.rb
activesupport/lib/active_support/core_ext/object/to_query.rb
+1
-1
activesupport/test/core_ext/object/to_query_test.rb
activesupport/test/core_ext/object/to_query_test.rb
+4
-4
未找到文件。
activesupport/lib/active_support/core_ext/object/to_param.rb
浏览文件 @
1ee9b40b
...
...
@@ -38,7 +38,7 @@ class Hash
# ==== Examples
# { :name => 'David', :nationality => 'Danish' }.to_query # => "name=David&nationality=Danish"
#
# { :name => 'David', :nationality => 'Danish' }.to_query('user') # => "user
%5Bname%5D=David&user%5Bnationality%5D
=Danish"
# { :name => 'David', :nationality => 'Danish' }.to_query('user') # => "user
[name]=David&user[nationality]
=Danish"
def
to_param
(
namespace
=
nil
)
collect
do
|
key
,
value
|
value
.
to_query
(
namespace
?
"
#{
namespace
}
[
#{
key
}
]"
:
key
)
...
...
activesupport/lib/active_support/core_ext/object/to_query.rb
浏览文件 @
1ee9b40b
...
...
@@ -15,7 +15,7 @@ class Array
# Converts an array into a string suitable for use as a URL query string,
# using the given +key+ as the param name.
#
# ['Rails', 'coding'].to_query('hobbies') # => "hobbies
%5B%5D=Rails&hobbies%5B%5D
=coding"
# ['Rails', 'coding'].to_query('hobbies') # => "hobbies
[]=Rails&hobbies[]
=coding"
def
to_query
(
key
)
prefix
=
"
#{
key
}
[]"
collect
{
|
value
|
value
.
to_query
(
prefix
)
}.
join
'&'
...
...
activesupport/test/core_ext/object/to_query_test.rb
浏览文件 @
1ee9b40b
...
...
@@ -17,22 +17,22 @@ def empty.to_param; nil end
end
def
test_nested_conversion
assert_query_equal
'person
%5Blogin%5D=seckar&person%5Bname%5D
=Nicholas'
,
assert_query_equal
'person
[login]=seckar&person[name]
=Nicholas'
,
:person
=>
{
:name
=>
'Nicholas'
,
:login
=>
'seckar'
}
end
def
test_multiple_nested
assert_query_equal
'account
%5Bperson%5D%5Bid%5D=20&person%5Bid%5D
=10'
,
assert_query_equal
'account
[person][id]=20&person[id]
=10'
,
:person
=>
{
:id
=>
10
},
:account
=>
{
:person
=>
{
:id
=>
20
}}
end
def
test_array_values
assert_query_equal
'person
%5Bid%5D%5B%5D=10&person%5Bid%5D%5B%5D
=20'
,
assert_query_equal
'person
[id][]=10&person[id][]
=20'
,
:person
=>
{
:id
=>
[
10
,
20
]}
end
def
test_array_values_are_not_sorted
assert_query_equal
'person
%5Bid%5D%5B%5D=20&person%5Bid%5D%5B%5D
=10'
,
assert_query_equal
'person
[id][]=20&person[id][]
=10'
,
:person
=>
{
:id
=>
[
20
,
10
]}
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录