Merge pull request #6160 from carlosantoniodasilva/resource-route-canonical-action

Force given path to http methods in mapper to skip canonical action checking
This commit is contained in:
Aaron Patterson 2012-05-04 11:39:20 -07:00
commit 9ce057d8cc
3 changed files with 13 additions and 5 deletions

@ -535,7 +535,8 @@ def delete(*args, &block)
private
def map_method(method, args, &block)
options = args.extract_options!
options[:via] = method
options[:via] = method
options[:path] ||= args.first if args.first.is_a?(String)
match(*args, options, &block)
self
end
@ -1509,7 +1510,7 @@ def path_for_action(action, path) #:nodoc:
prefix = shallow_scoping? ?
"#{@scope[:shallow_path]}/#{parent_resource.path}/:id" : @scope[:path]
path = if canonical_action?(action, path.blank?)
if canonical_action?(action, path.blank?)
prefix.to_s
else
"#{prefix}/#{action_path(action, path)}"

@ -1405,7 +1405,7 @@ def test_route_constraints_with_supported_options_must_not_error
end
end
end
def test_route_with_subdomain_and_constraints_must_receive_params
name_param = nil
set.draw do
@ -1418,7 +1418,7 @@ def test_route_with_subdomain_and_constraints_must_receive_params
set.recognize_path('http://subdomain.example.org/page/mypage'))
assert_equal(name_param, 'mypage')
end
def test_route_requirement_recognize_with_ignore_case
set.draw do
get 'page/:name' => 'pages#show',

@ -171,6 +171,8 @@ def self.call(params, request)
post :preview, :on => :collection
end
end
post 'new', :action => 'new', :on => :collection, :as => :new
end
resources :replies do
@ -876,6 +878,12 @@ def test_projects
assert_equal '/projects/1/edit', edit_project_path(:id => '1')
end
def test_projects_with_post_action_and_new_path_on_collection
post '/projects/new'
assert_equal "project#new", @response.body
assert_equal "/projects/new", new_projects_path
end
def test_projects_involvements
get '/projects/1/involvements'
assert_equal 'involvements#index', @response.body
@ -2450,7 +2458,6 @@ def app; Routes end
get "/foo/bar/baz"
assert_equal "/pooh", @response.body
end
end
class TestTildeAndMinusPaths < ActionDispatch::IntegrationTest