aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing/route_set.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-05-21 11:00:43 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-05-21 11:00:43 -0700
commit513a0525c24c2944630acfa465b22cd2f4601adf (patch)
treea406f0a86b4199fcf21287e7726311ea7918f306 /actionpack/lib/action_dispatch/routing/route_set.rb
parentd2901f0fc4270a765717ad572d559dc49a56b3a8 (diff)
parentdde5b8737bf7ec666f96ae04479074dfae7a63d9 (diff)
downloadrails-513a0525c24c2944630acfa465b22cd2f4601adf.tar.gz
rails-513a0525c24c2944630acfa465b22cd2f4601adf.tar.bz2
rails-513a0525c24c2944630acfa465b22cd2f4601adf.zip
Merge pull request #2549 from trek/RoutingErrorForMissingControllers
When a route references a missing controller, raise ActionController::RoutingError with clearer message
Diffstat (limited to 'actionpack/lib/action_dispatch/routing/route_set.rb')
-rw-r--r--actionpack/lib/action_dispatch/routing/route_set.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb
index 1d0a67d0d2..7872f4007e 100644
--- a/actionpack/lib/action_dispatch/routing/route_set.rb
+++ b/actionpack/lib/action_dispatch/routing/route_set.rb
@@ -663,9 +663,13 @@ module ActionDispatch
dispatcher = dispatcher.app
end
- if dispatcher.is_a?(Dispatcher) && dispatcher.controller(params, false)
- dispatcher.prepare_params!(params)
- return params
+ if dispatcher.is_a?(Dispatcher)
+ if dispatcher.controller(params, false)
+ dispatcher.prepare_params!(params)
+ return params
+ else
+ raise ActionController::RoutingError, "A route matches #{path.inspect}, but references missing controller: #{params[:controller].camelize}Controller"
+ end
end
end