Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
5d89605c
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,发现更多精彩内容 >>
提交
5d89605c
编写于
12月 28, 2008
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make router and controller classes better rack citizens
上级
45dee384
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
88 addition
and
87 deletion
+88
-87
actionpack/lib/action_controller/base.rb
actionpack/lib/action_controller/base.rb
+7
-0
actionpack/lib/action_controller/dispatcher.rb
actionpack/lib/action_controller/dispatcher.rb
+4
-7
actionpack/lib/action_controller/request.rb
actionpack/lib/action_controller/request.rb
+2
-2
actionpack/lib/action_controller/rescue.rb
actionpack/lib/action_controller/rescue.rb
+3
-1
actionpack/lib/action_controller/routing/route_set.rb
actionpack/lib/action_controller/routing/route_set.rb
+6
-0
actionpack/test/controller/dispatcher_test.rb
actionpack/test/controller/dispatcher_test.rb
+1
-3
actionpack/test/controller/rescue_test.rb
actionpack/test/controller/rescue_test.rb
+5
-1
actionpack/test/controller/routing_test.rb
actionpack/test/controller/routing_test.rb
+60
-73
未找到文件。
actionpack/lib/action_controller/base.rb
浏览文件 @
5d89605c
...
...
@@ -382,6 +382,13 @@ class Base
attr_accessor
:action_name
class
<<
self
def
call
(
env
)
# HACK: For global rescue to have access to the original request and response
request
=
env
[
"actioncontroller.rescue.request"
]
||=
Request
.
new
(
env
)
response
=
env
[
"actioncontroller.rescue.response"
]
||=
Response
.
new
process
(
request
,
response
)
end
# Factory for the standard create, process loop where the controller is discarded after processing.
def
process
(
request
,
response
)
#:nodoc:
new
.
process
(
request
,
response
)
...
...
actionpack/lib/action_controller/dispatcher.rb
浏览文件 @
5d89605c
...
...
@@ -60,11 +60,10 @@ def initialize(output = $stdout, request = nil, response = nil)
def
dispatch
begin
run_callbacks
:before_dispatch
controller
=
Routing
::
Routes
.
recognize
(
@request
)
controller
.
process
(
@request
,
@response
).
to_a
Routing
::
Routes
.
call
(
@env
)
rescue
Exception
=>
exception
if
controller
||=
(
::
ApplicationController
rescue
Base
)
controller
.
process_with_exception
(
@request
,
@response
,
exception
).
to_a
controller
.
call_with_exception
(
@env
,
exception
).
to_a
else
raise
exception
end
...
...
@@ -83,8 +82,7 @@ def call(env)
end
def
_call
(
env
)
@request
=
Request
.
new
(
env
)
@response
=
Response
.
new
@env
=
env
dispatch
end
...
...
@@ -110,8 +108,7 @@ def flush_logger
def
checkin_connections
# Don't return connection (and peform implicit rollback) if this request is a part of integration test
# TODO: This callback should have direct access to env
return
if
@request
.
key?
(
"rack.test"
)
return
if
@env
.
key?
(
"rack.test"
)
ActiveRecord
::
Base
.
clear_active_connections!
end
end
...
...
actionpack/lib/action_controller/request.rb
浏览文件 @
5d89605c
...
...
@@ -398,7 +398,7 @@ def parameters
end
def
path_parameters
=
(
parameters
)
#:nodoc:
@
path_parameters
=
parameters
@
env
[
"routing_args"
]
=
parameters
@symbolized_path_parameters
=
@parameters
=
nil
end
...
...
@@ -414,7 +414,7 @@ def symbolized_path_parameters
#
# See <tt>symbolized_path_parameters</tt> for symbolized keys.
def
path_parameters
@
path_parameters
||=
{}
@
env
[
"routing_args"
]
||=
{}
end
def
body
...
...
actionpack/lib/action_controller/rescue.rb
浏览文件 @
5d89605c
...
...
@@ -59,7 +59,9 @@ def self.included(base) #:nodoc:
end
module
ClassMethods
def
process_with_exception
(
request
,
response
,
exception
)
#:nodoc:
def
call_with_exception
(
env
,
exception
)
#:nodoc:
request
=
env
[
"actioncontroller.rescue.request"
]
response
=
env
[
"actioncontroller.rescue.response"
]
new
.
process
(
request
,
response
,
:rescue_action
,
exception
)
end
end
...
...
actionpack/lib/action_controller/routing/route_set.rb
浏览文件 @
5d89605c
...
...
@@ -427,6 +427,12 @@ def raise_named_route_error(options, named_route, named_route_name)
end
end
def
call
(
env
)
request
=
Request
.
new
(
env
)
app
=
Routing
::
Routes
.
recognize
(
request
)
app
.
call
(
env
).
to_a
end
def
recognize
(
request
)
params
=
recognize_path
(
request
.
path
,
extract_request_environment
(
request
))
request
.
path_parameters
=
params
.
with_indifferent_access
...
...
actionpack/test/controller/dispatcher_test.rb
浏览文件 @
5d89605c
...
...
@@ -96,9 +96,7 @@ def test_to_prepare_with_identifier_replaces
private
def
dispatch
(
cache_classes
=
true
)
controller
=
mock
()
controller
.
stubs
(
:process
).
returns
([
200
,
{},
'response'
])
ActionController
::
Routing
::
Routes
.
stubs
(
:recognize
).
returns
(
controller
)
ActionController
::
Routing
::
RouteSet
.
any_instance
.
stubs
(
:call
).
returns
([
200
,
{},
'response'
])
Dispatcher
.
define_dispatcher_callbacks
(
cache_classes
)
@dispatcher
.
call
({})
end
...
...
actionpack/test/controller/rescue_test.rb
浏览文件 @
5d89605c
...
...
@@ -367,7 +367,11 @@ def test_block_rescue_handler_with_argument_as_string
end
def
test_rescue_dispatcher_exceptions
RescueController
.
process_with_exception
(
@request
,
@response
,
ActionController
::
RoutingError
.
new
(
"Route not found"
))
env
=
@request
.
env
env
[
"actioncontroller.rescue.request"
]
=
@request
env
[
"actioncontroller.rescue.response"
]
=
@response
RescueController
.
call_with_exception
(
env
,
ActionController
::
RoutingError
.
new
(
"Route not found"
))
assert_equal
"no way"
,
@response
.
body
end
...
...
actionpack/test/controller/routing_test.rb
浏览文件 @
5d89605c
...
...
@@ -706,7 +706,7 @@ def url_for(options)
port_string
=
port
==
80
?
''
:
":
#{
port
}
"
protocol
=
options
.
delete
(
:protocol
)
||
"http"
host
=
options
.
delete
(
:host
)
||
"
named.route.te
st"
host
=
options
.
delete
(
:host
)
||
"
test.ho
st"
anchor
=
"#
#{
options
.
delete
(
:anchor
)
}
"
if
options
.
key?
(
:anchor
)
path
=
routes
.
generate
(
options
)
...
...
@@ -715,27 +715,7 @@ def url_for(options)
end
def
request
@request
||=
MockRequest
.
new
(
:host
=>
"named.route.test"
,
:method
=>
:get
)
end
end
class
MockRequest
attr_accessor
:path
,
:path_parameters
,
:host
,
:subdomains
,
:domain
,
:method
def
initialize
(
values
=
{})
values
.
each
{
|
key
,
value
|
send
(
"
#{
key
}
="
,
value
)
}
if
values
[
:host
]
subdomain
,
self
.
domain
=
values
[
:host
].
split
(
/\./
,
2
)
self
.
subdomains
=
[
subdomain
]
end
end
def
protocol
"http://"
end
def
host_with_port
(
subdomains
*
'.'
)
+
'.'
+
domain
@request
||=
ActionController
::
TestRequest
.
new
end
end
...
...
@@ -900,7 +880,7 @@ def test_route_with_regexp_and_dot
def
test_basic_named_route
rs
.
add_named_route
:home
,
''
,
:controller
=>
'content'
,
:action
=>
'list'
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/"
,
assert_equal
(
"http://
test.ho
st/"
,
x
.
send
(
:home_url
))
end
...
...
@@ -908,7 +888,7 @@ def test_basic_named_route_with_relative_url_root
rs
.
add_named_route
:home
,
''
,
:controller
=>
'content'
,
:action
=>
'list'
x
=
setup_for_named_route
ActionController
::
Base
.
relative_url_root
=
"/foo"
assert_equal
(
"http://
named.route.te
st/foo/"
,
assert_equal
(
"http://
test.ho
st/foo/"
,
x
.
send
(
:home_url
))
assert_equal
"/foo/"
,
x
.
send
(
:home_path
)
ActionController
::
Base
.
relative_url_root
=
nil
...
...
@@ -917,14 +897,14 @@ def test_basic_named_route_with_relative_url_root
def
test_named_route_with_option
rs
.
add_named_route
:page
,
'page/:title'
,
:controller
=>
'content'
,
:action
=>
'show_page'
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/page/new%20stuff"
,
assert_equal
(
"http://
test.ho
st/page/new%20stuff"
,
x
.
send
(
:page_url
,
:title
=>
'new stuff'
))
end
def
test_named_route_with_default
rs
.
add_named_route
:page
,
'page/:title'
,
:controller
=>
'content'
,
:action
=>
'show_page'
,
:title
=>
'AboutPage'
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/page/AboutRails"
,
assert_equal
(
"http://
test.ho
st/page/AboutRails"
,
x
.
send
(
:page_url
,
:title
=>
"AboutRails"
))
end
...
...
@@ -932,21 +912,21 @@ def test_named_route_with_default
def
test_named_route_with_name_prefix
rs
.
add_named_route
:page
,
'page'
,
:controller
=>
'content'
,
:action
=>
'show_page'
,
:name_prefix
=>
'my_'
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/page"
,
assert_equal
(
"http://
test.ho
st/page"
,
x
.
send
(
:my_page_url
))
end
def
test_named_route_with_path_prefix
rs
.
add_named_route
:page
,
'page'
,
:controller
=>
'content'
,
:action
=>
'show_page'
,
:path_prefix
=>
'my'
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/my/page"
,
assert_equal
(
"http://
test.ho
st/my/page"
,
x
.
send
(
:page_url
))
end
def
test_named_route_with_nested_controller
rs
.
add_named_route
:users
,
'admin/user'
,
:controller
=>
'admin/user'
,
:action
=>
'index'
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/admin/user"
,
assert_equal
(
"http://
test.ho
st/admin/user"
,
x
.
send
(
:users_url
))
end
...
...
@@ -985,7 +965,7 @@ def test_named_route_root
map
.
root
:controller
=>
"hello"
end
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/"
,
x
.
send
(
:root_url
))
assert_equal
(
"http://
test.ho
st/"
,
x
.
send
(
:root_url
))
assert_equal
(
"/"
,
x
.
send
(
:root_path
))
end
...
...
@@ -1001,7 +981,7 @@ def test_named_route_with_regexps
# x.send(:article_url, :title => 'hi')
# )
assert_equal
(
"http://
named.route.te
st/page/2005/6/10/hi"
,
"http://
test.ho
st/page/2005/6/10/hi"
,
x
.
send
(
:article_url
,
:title
=>
'hi'
,
:day
=>
10
,
:year
=>
2005
,
:month
=>
6
)
)
end
...
...
@@ -1202,7 +1182,7 @@ def test_both_requirement_and_optional
assert_equal
'/test'
,
rs
.
generate
(
:controller
=>
'post'
,
:action
=>
'show'
,
:year
=>
nil
)
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/test"
,
assert_equal
(
"http://
test.ho
st/test"
,
x
.
send
(
:blog_url
))
end
...
...
@@ -1249,7 +1229,7 @@ def test_named_url_with_no_action_specified
assert_equal
'/'
,
rs
.
generate
(
:controller
=>
'content'
)
x
=
setup_for_named_route
assert_equal
(
"http://
named.route.te
st/"
,
assert_equal
(
"http://
test.ho
st/"
,
x
.
send
(
:home_url
))
end
...
...
@@ -1591,7 +1571,7 @@ def set
end
def
request
@request
||=
MockRequest
.
new
(
:host
=>
"named.routes.test"
,
:method
=>
:get
)
@request
||=
ActionController
::
TestRequest
.
new
end
def
test_generate_extras
...
...
@@ -1692,13 +1672,13 @@ def test_named_route_hash_access_method
def
test_named_route_url_method
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st/people/5"
,
controller
.
send
(
:show_url
,
:id
=>
5
)
assert_equal
"http://
test.ho
st/people/5"
,
controller
.
send
(
:show_url
,
:id
=>
5
)
assert_equal
"/people/5"
,
controller
.
send
(
:show_path
,
:id
=>
5
)
assert_equal
"http://
named.route.te
st/people"
,
controller
.
send
(
:index_url
)
assert_equal
"http://
test.ho
st/people"
,
controller
.
send
(
:index_url
)
assert_equal
"/people"
,
controller
.
send
(
:index_path
)
assert_equal
"http://
named.route.te
st/admin/users"
,
controller
.
send
(
:users_url
)
assert_equal
"http://
test.ho
st/admin/users"
,
controller
.
send
(
:users_url
)
assert_equal
'/admin/users'
,
controller
.
send
(
:users_path
)
assert_equal
'/admin/users'
,
set
.
generate
(
controller
.
send
(
:hash_for_users_url
),
{
:controller
=>
'users'
,
:action
=>
'index'
})
end
...
...
@@ -1706,28 +1686,28 @@ def test_named_route_url_method
def
test_named_route_url_method_with_anchor
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st/people/5#location"
,
controller
.
send
(
:show_url
,
:id
=>
5
,
:anchor
=>
'location'
)
assert_equal
"http://
test.ho
st/people/5#location"
,
controller
.
send
(
:show_url
,
:id
=>
5
,
:anchor
=>
'location'
)
assert_equal
"/people/5#location"
,
controller
.
send
(
:show_path
,
:id
=>
5
,
:anchor
=>
'location'
)
assert_equal
"http://
named.route.te
st/people#location"
,
controller
.
send
(
:index_url
,
:anchor
=>
'location'
)
assert_equal
"http://
test.ho
st/people#location"
,
controller
.
send
(
:index_url
,
:anchor
=>
'location'
)
assert_equal
"/people#location"
,
controller
.
send
(
:index_path
,
:anchor
=>
'location'
)
assert_equal
"http://
named.route.te
st/admin/users#location"
,
controller
.
send
(
:users_url
,
:anchor
=>
'location'
)
assert_equal
"http://
test.ho
st/admin/users#location"
,
controller
.
send
(
:users_url
,
:anchor
=>
'location'
)
assert_equal
'/admin/users#location'
,
controller
.
send
(
:users_path
,
:anchor
=>
'location'
)
assert_equal
"http://
named.route.te
st/people/go/7/hello/joe/5#location"
,
assert_equal
"http://
test.ho
st/people/go/7/hello/joe/5#location"
,
controller
.
send
(
:multi_url
,
7
,
"hello"
,
5
,
:anchor
=>
'location'
)
assert_equal
"http://
named.route.te
st/people/go/7/hello/joe/5?baz=bar#location"
,
assert_equal
"http://
test.ho
st/people/go/7/hello/joe/5?baz=bar#location"
,
controller
.
send
(
:multi_url
,
7
,
"hello"
,
5
,
:baz
=>
"bar"
,
:anchor
=>
'location'
)
assert_equal
"http://
named.route.te
st/people?baz=bar#location"
,
assert_equal
"http://
test.ho
st/people?baz=bar#location"
,
controller
.
send
(
:index_url
,
:baz
=>
"bar"
,
:anchor
=>
'location'
)
end
def
test_named_route_url_method_with_port
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st:8080/people/5"
,
controller
.
send
(
:show_url
,
5
,
:port
=>
8080
)
assert_equal
"http://
test.ho
st:8080/people/5"
,
controller
.
send
(
:show_url
,
5
,
:port
=>
8080
)
end
def
test_named_route_url_method_with_host
...
...
@@ -1737,30 +1717,30 @@ def test_named_route_url_method_with_host
def
test_named_route_url_method_with_protocol
controller
=
setup_named_route_test
assert_equal
"https://
named.route.te
st/people/5"
,
controller
.
send
(
:show_url
,
5
,
:protocol
=>
"https"
)
assert_equal
"https://
test.ho
st/people/5"
,
controller
.
send
(
:show_url
,
5
,
:protocol
=>
"https"
)
end
def
test_named_route_url_method_with_ordered_parameters
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st/people/go/7/hello/joe/5"
,
assert_equal
"http://
test.ho
st/people/go/7/hello/joe/5"
,
controller
.
send
(
:multi_url
,
7
,
"hello"
,
5
)
end
def
test_named_route_url_method_with_ordered_parameters_and_hash
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st/people/go/7/hello/joe/5?baz=bar"
,
assert_equal
"http://
test.ho
st/people/go/7/hello/joe/5?baz=bar"
,
controller
.
send
(
:multi_url
,
7
,
"hello"
,
5
,
:baz
=>
"bar"
)
end
def
test_named_route_url_method_with_ordered_parameters_and_empty_hash
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st/people/go/7/hello/joe/5"
,
assert_equal
"http://
test.ho
st/people/go/7/hello/joe/5"
,
controller
.
send
(
:multi_url
,
7
,
"hello"
,
5
,
{})
end
def
test_named_route_url_method_with_no_positional_arguments
controller
=
setup_named_route_test
assert_equal
"http://
named.route.te
st/people?baz=bar"
,
assert_equal
"http://
test.ho
st/people?baz=bar"
,
controller
.
send
(
:index_url
,
:baz
=>
"bar"
)
end
...
...
@@ -1896,49 +1876,54 @@ def test_recognize_with_conditions
end
request
.
path
=
"/people"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"index"
,
request
.
path_parameters
[
:action
])
request
.
recycle!
request
.
method
=
:post
request
.
env
[
"REQUEST_METHOD"
]
=
"POST"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"create"
,
request
.
path_parameters
[
:action
])
request
.
recycle!
request
.
method
=
:put
request
.
env
[
"REQUEST_METHOD"
]
=
"PUT"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"update"
,
request
.
path_parameters
[
:action
])
request
.
recycle!
begin
request
.
method
=
:bacon
assert_raises
(
ActionController
::
UnknownHttpMethod
)
{
request
.
env
[
"REQUEST_METHOD"
]
=
"BACON"
set
.
recognize
(
request
)
flunk
'Should have raised NotImplemented'
rescue
ActionController
::
NotImplemented
=>
e
assert_equal
[
:get
,
:post
,
:put
,
:delete
],
e
.
allowed_methods
end
}
request
.
recycle!
request
.
path
=
"/people/5"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"show"
,
request
.
path_parameters
[
:action
])
assert_equal
(
"5"
,
request
.
path_parameters
[
:id
])
request
.
recycle!
request
.
method
=
:put
request
.
env
[
"REQUEST_METHOD"
]
=
"PUT"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"update"
,
request
.
path_parameters
[
:action
])
assert_equal
(
"5"
,
request
.
path_parameters
[
:id
])
request
.
recycle!
request
.
method
=
:delete
request
.
env
[
"REQUEST_METHOD"
]
=
"DELETE"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"destroy"
,
request
.
path_parameters
[
:action
])
assert_equal
(
"5"
,
request
.
path_parameters
[
:id
])
request
.
recycle!
begin
request
.
method
=
:post
request
.
env
[
"REQUEST_METHOD"
]
=
"POST"
set
.
recognize
(
request
)
flunk
'Should have raised MethodNotAllowed'
rescue
ActionController
::
MethodNotAllowed
=>
e
assert_equal
[
:get
,
:put
,
:delete
],
e
.
allowed_methods
end
request
.
recycle!
ensure
Object
.
send
(
:remove_const
,
:PeopleController
)
...
...
@@ -1954,13 +1939,13 @@ def test_recognize_with_alias_in_conditions
end
request
.
path
=
"/people"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"people"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"index"
,
request
.
path_parameters
[
:action
])
request
.
path
=
"/"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"people"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"index"
,
request
.
path_parameters
[
:action
])
...
...
@@ -1978,7 +1963,7 @@ def test_typo_recognition
end
request
.
path
=
"/articles/2005/11/05/a-very-interesting-article"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"permalink"
,
request
.
path_parameters
[
:action
])
assert_equal
(
"2005"
,
request
.
path_parameters
[
:year
])
...
...
@@ -2015,17 +2000,19 @@ def test_recognize_with_conditions_and_format
end
request
.
path
=
"/people/5"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"show"
,
request
.
path_parameters
[
:action
])
assert_equal
(
"5"
,
request
.
path_parameters
[
:id
])
request
.
recycle!
request
.
method
=
:put
request
.
env
[
"REQUEST_METHOD"
]
=
"PUT"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"update"
,
request
.
path_parameters
[
:action
])
request
.
recycle!
request
.
path
=
"/people/5.png"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"show"
,
request
.
path_parameters
[
:action
])
assert_equal
(
"5"
,
request
.
path_parameters
[
:id
])
...
...
@@ -2050,7 +2037,7 @@ def test_root_map
set
.
draw
{
|
map
|
map
.
root
:controller
=>
"people"
}
request
.
path
=
""
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"people"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"index"
,
request
.
path_parameters
[
:action
])
...
...
@@ -2070,7 +2057,7 @@ def test_namespace
end
request
.
path
=
"/api/inventory"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"api/products"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"inventory"
,
request
.
path_parameters
[
:action
])
...
...
@@ -2090,7 +2077,7 @@ def test_namespaced_root_map
end
request
.
path
=
"/api"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"api/products"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"index"
,
request
.
path_parameters
[
:action
])
...
...
@@ -2110,7 +2097,7 @@ def test_namespace_with_path_prefix
end
request
.
path
=
"/prefix/inventory"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"api/products"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"inventory"
,
request
.
path_parameters
[
:action
])
...
...
@@ -2246,7 +2233,7 @@ def test_named_route_in_nested_resource
end
request
.
path
=
"/projects/1/milestones"
request
.
method
=
:get
request
.
env
[
"REQUEST_METHOD"
]
=
"GET"
assert_nothing_raised
{
set
.
recognize
(
request
)
}
assert_equal
(
"milestones"
,
request
.
path_parameters
[
:controller
])
assert_equal
(
"index"
,
request
.
path_parameters
[
:action
])
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录