mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Its now possible to use match 'stuff' => 'what#stuff' instead of using the :to for simple routes
This commit is contained in:
@@ -39,9 +39,13 @@ module ActionDispatch
|
||||
end
|
||||
|
||||
def match(*args)
|
||||
options = args.extract_options!
|
||||
|
||||
path = args.first
|
||||
if args.one? && args.first.is_a?(Hash)
|
||||
path = args.first.keys.first
|
||||
options = { :to => args.first.values.first }
|
||||
else
|
||||
path = args.first
|
||||
options = args.extract_options!
|
||||
end
|
||||
|
||||
conditions, defaults = {}, {}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
|
||||
delete 'logout', :to => :destroy, :as => :logout
|
||||
end
|
||||
|
||||
match 'account/logout' => redirect("/logout")
|
||||
match 'account/login', :to => redirect("/login")
|
||||
|
||||
match 'account/modulo/:name', :to => redirect("/%{name}s")
|
||||
@@ -37,11 +38,11 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
|
||||
end
|
||||
|
||||
constraints(:ip => /192\.168\.1\.\d\d\d/) do
|
||||
get 'admin', :to => "queenbee#index"
|
||||
get 'admin' => "queenbee#index"
|
||||
end
|
||||
|
||||
constraints ::TestRoutingMapper::IpRestrictor do
|
||||
get 'admin/accounts', :to => "queenbee#accounts"
|
||||
get 'admin/accounts' => "queenbee#accounts"
|
||||
end
|
||||
|
||||
resources :projects, :controller => :project do
|
||||
@@ -85,7 +86,7 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
|
||||
end
|
||||
end
|
||||
|
||||
match 'sprockets.js', :to => ::TestRoutingMapper::SprocketsApp
|
||||
match 'sprockets.js' => ::TestRoutingMapper::SprocketsApp
|
||||
|
||||
match 'people/:id/update', :to => 'people#update', :as => :update_person
|
||||
match '/projects/:project_id/people/:id/update', :to => 'people#update', :as => :update_project_person
|
||||
@@ -148,6 +149,15 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
|
||||
end
|
||||
end
|
||||
|
||||
def test_logout_redirect_without_to
|
||||
with_test_routes do
|
||||
get '/account/logout'
|
||||
assert_equal 301, @response.status
|
||||
assert_equal 'http://www.example.com/logout', @response.headers['Location']
|
||||
assert_equal 'Moved Permanently', @response.body
|
||||
end
|
||||
end
|
||||
|
||||
def test_redirect_modulo
|
||||
with_test_routes do
|
||||
get '/account/modulo/name'
|
||||
|
||||
Reference in New Issue
Block a user