diff options
author | Trek Glowacki <trek.glowacki@gmail.com> | 2011-08-16 16:27:07 -0400 |
---|---|---|
committer | Trek Glowacki <trek.glowacki@gmail.com> | 2011-08-16 16:27:07 -0400 |
commit | dde5b8737bf7ec666f96ae04479074dfae7a63d9 (patch) | |
tree | 5aac10080bb43e47b24d54acb199f665784299a1 /actionpack/lib/action_dispatch | |
parent | 590239156714c03ad525b2248a11a3f34da3aa6a (diff) | |
download | rails-dde5b8737bf7ec666f96ae04479074dfae7a63d9.tar.gz rails-dde5b8737bf7ec666f96ae04479074dfae7a63d9.tar.bz2 rails-dde5b8737bf7ec666f96ae04479074dfae7a63d9.zip |
When a route references a missing controller, raise ActionController::RoutingError with a clearer message
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 10 |
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 11228c597d..15a6415342 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -556,9 +556,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 |