diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2015-08-24 12:06:22 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-08-24 12:06:41 -0700 |
commit | 337684fa28a3e8d55874d5740585710d0fa99ead (patch) | |
tree | b431400ddd5dac554956d7aa5db2b763a8b38acb /actionpack/lib | |
parent | 518ae9f055cd31c0f00c221d56bf0d44733cb782 (diff) | |
download | rails-337684fa28a3e8d55874d5740585710d0fa99ead.tar.gz rails-337684fa28a3e8d55874d5740585710d0fa99ead.tar.bz2 rails-337684fa28a3e8d55874d5740585710d0fa99ead.zip |
use a custom request class to determine the controller class
controller class resolution has been moved to the request object, so we
should override that method instead of relying on the RouteSet to
generate the controller class.
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 2e8c346758..3706c6cd8e 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -343,6 +343,11 @@ module ActionDispatch ActionDispatch::Request end + def make_request(env) + request_class.new env + end + private :make_request + def draw(&block) clear! unless @disable_clear_and_finalize eval_block(block) @@ -700,7 +705,7 @@ module ActionDispatch end def call(env) - req = request_class.new(env) + req = make_request(env) req.path_info = Journey::Router::Utils.normalize_path(req.path_info) @router.serve(req) end @@ -716,7 +721,7 @@ module ActionDispatch raise ActionController::RoutingError, e.message end - req = request_class.new(env) + req = make_request(env) @router.recognize(req) do |route, params| params.merge!(extras) params.each do |key, value| |