Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
ce06d57e
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,发现更多精彩内容 >>
提交
ce06d57e
编写于
11月 15, 2013
作者:
A
Andrew White
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #9599 from ognevsky/hash-inside-array-in-url-for
Take Hash with options inside Array in #url_for
上级
77ed4d98
d04c4fac
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
31 addition
and
0 deletion
+31
-0
actionpack/CHANGELOG.md
actionpack/CHANGELOG.md
+9
-0
actionpack/lib/action_dispatch/routing/url_for.rb
actionpack/lib/action_dispatch/routing/url_for.rb
+2
-0
actionpack/test/controller/url_for_test.rb
actionpack/test/controller/url_for_test.rb
+18
-0
actionview/lib/action_view/routing_url_for.rb
actionview/lib/action_view/routing_url_for.rb
+2
-0
未找到文件。
actionpack/CHANGELOG.md
浏览文件 @
ce06d57e
*
Take a hash with options inside array in #url_for
Example:
url_for [:new, :admin, :post, { param: 'value' }]
# => http://example.com/admin/posts/new?params=value
*Andrey Ognevsky*
*
Add
`session#fetch`
method
fetch behaves similarly to [Hash#fetch](http://www.ruby-doc.org/core-1.9.3/Hash.html#method-i-fetch),
...
...
actionpack/lib/action_dispatch/routing/url_for.rb
浏览文件 @
ce06d57e
...
...
@@ -155,6 +155,8 @@ def url_for(options = nil)
_routes
.
url_for
(
options
.
symbolize_keys
.
reverse_merge!
(
url_options
))
when
String
options
when
Array
polymorphic_url
(
options
,
options
.
extract_options!
)
else
polymorphic_url
(
options
)
end
...
...
actionpack/test/controller/url_for_test.rb
浏览文件 @
ce06d57e
...
...
@@ -370,6 +370,24 @@ def test_false_url_params_are_included_in_query
assert_equal
(
"/c/a?show=false"
,
W
.
new
.
url_for
(
:only_path
=>
true
,
:controller
=>
'c'
,
:action
=>
'a'
,
:show
=>
false
))
end
def
test_url_generation_with_array_and_hash
with_routing
do
|
set
|
set
.
draw
do
namespace
:admin
do
resources
:posts
end
end
kls
=
Class
.
new
{
include
set
.
url_helpers
}
kls
.
default_url_options
[
:host
]
=
'www.basecamphq.com'
controller
=
kls
.
new
assert_equal
(
"http://www.basecamphq.com/admin/posts/new?param=value"
,
controller
.
send
(
:url_for
,
[
:new
,
:admin
,
:post
,
{
param:
'value'
}])
)
end
end
private
def
extract_params
(
url
)
url
.
split
(
'?'
,
2
).
last
.
split
(
'&'
).
sort
...
...
actionview/lib/action_view/routing_url_for.rb
浏览文件 @
ce06d57e
...
...
@@ -83,6 +83,8 @@ def url_for(options = nil)
super
when
:back
_back_url
when
Array
polymorphic_path
(
options
,
options
.
extract_options!
)
else
polymorphic_path
(
options
)
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录