aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_controller/assertions.rb4
-rw-r--r--actionpack/lib/action_controller/url_rewriter.rb10
2 files changed, 8 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/assertions.rb b/actionpack/lib/action_controller/assertions.rb
index 20650c8654..bb81ffac75 100644
--- a/actionpack/lib/action_controller/assertions.rb
+++ b/actionpack/lib/action_controller/assertions.rb
@@ -138,7 +138,9 @@ module Test #:nodoc:
# Load routes.rb if it hasn't been loaded.
ActionController::Routing::Routes.reload if ActionController::Routing::Routes.empty?
- generated_path, found_extras = ActionController::Routing::Routes.generate(options, extras)
+ generated_path, extra_keys = ActionController::Routing::Routes.generate(options, extras)
+ found_extras = options.reject {|k, v| ! extra_keys.include? k}
+
msg = build_message(message, "found extras <?>, not <?>", found_extras, extras)
assert_block(msg) { found_extras == extras }
diff --git a/actionpack/lib/action_controller/url_rewriter.rb b/actionpack/lib/action_controller/url_rewriter.rb
index 546bd13eb7..ecbc6851f4 100644
--- a/actionpack/lib/action_controller/url_rewriter.rb
+++ b/actionpack/lib/action_controller/url_rewriter.rb
@@ -31,13 +31,13 @@ module ActionController
rewritten_url
end
- def rewrite_path(original_options)
- options = original_options.symbolize_keys
- options.update(params.symbolize_keys) if (params = options[:params])
+ def rewrite_path(options)
+ options = options.symbolize_keys
+ options.update(options[:params].symbolize_keys) if options[:params]
RESERVED_OPTIONS.each {|k| options.delete k}
- path, extra_keys = Routing::Routes.generate(options, @request) # Warning: Routes will mutate and violate the options hash
+ path, extra_keys = Routing::Routes.generate(options.dup, @request) # Warning: Routes will mutate and violate the options hash
- path << build_query_string(original_options.symbolize_keys, extra_keys) unless extra_keys.empty?
+ path << build_query_string(options, extra_keys) unless extra_keys.empty?
path
end