aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/routing.rb36
1 files changed, 12 insertions, 24 deletions
diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb
index dcc3b2851b..7be27b2eea 100644
--- a/actionpack/lib/action_controller/routing.rb
+++ b/actionpack/lib/action_controller/routing.rb
@@ -416,33 +416,21 @@ module ActionController
return (method_sources << code)
end
- @@recognized_route_cache = {}
def recognize(request)
- if recognized = @@recognized_route_cache[request.path]
- controller, options = recognized
- request.path_parameters = options
- controller.new
- else
- string_path = request.path
- string_path.chomp! if string_path[0] == ?/
- path = string_path.split '/'
- path.shift
-
- hash = recognize_path(path)
- recognition_failed(request) unless hash && hash['controller']
-
- controller = hash['controller']
- hash['controller'] = controller.controller_path
- request.path_parameters = hash
- @@recognized_route_cache[request.path] = [controller, hash]
- controller.new
- end
+ string_path = request.path
+ string_path.chomp! if string_path[0] == ?/
+ path = string_path.split '/'
+ path.shift
+
+ hash = recognize_path(path)
+ recognition_failed(request) unless hash && hash['controller']
+
+ controller = hash['controller']
+ hash['controller'] = controller.controller_path
+ request.path_parameters = hash
+ controller.new
end
alias :recognize! :recognize
-
- def clear_recognized_route_cache!
- @@recognized_route_cache.clear
- end
def recognition_failed(request)
raise ActionController::RoutingError, "Recognition failed for #{request.path.inspect}"