aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
diff options
context:
space:
mode:
authorPrem Sichanugrist <s@sikac.hu>2015-07-13 16:43:21 -0400
committerPrem Sichanugrist <s@sikac.hu>2015-07-15 11:11:36 -0400
commit14a3bd520dd4bbf1247fd3e0071b59c02c115ce0 (patch)
tree23d5f059a39e699aa0762fcea54fd33cd7952bdd /actionpack/lib/action_dispatch/routing
parenta0b4dc21a2188a4379bc401b73336608fec56c64 (diff)
downloadrails-14a3bd520dd4bbf1247fd3e0071b59c02c115ce0.tar.gz
rails-14a3bd520dd4bbf1247fd3e0071b59c02c115ce0.tar.bz2
rails-14a3bd520dd4bbf1247fd3e0071b59c02c115ce0.zip
Make AC::Parameters not inherited from Hash
This is another take at #14384 as we decided to wait until `master` is targeting Rails 5.0. This commit is implementation-complete, as it guarantees that all the public methods on the hash-inherited Parameters are still working (based on test case). We can decide to follow-up later if we want to remove some methods out from Parameters.
Diffstat (limited to 'actionpack/lib/action_dispatch/routing')
-rw-r--r--actionpack/lib/action_dispatch/routing/url_for.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/routing/url_for.rb b/actionpack/lib/action_dispatch/routing/url_for.rb
index 8379d089df..967bbd62f8 100644
--- a/actionpack/lib/action_dispatch/routing/url_for.rb
+++ b/actionpack/lib/action_dispatch/routing/url_for.rb
@@ -171,6 +171,10 @@ module ActionDispatch
route_name = options.delete :use_route
_routes.url_for(options.symbolize_keys.reverse_merge!(url_options),
route_name)
+ when ActionController::Parameters
+ route_name = options.delete :use_route
+ _routes.url_for(options.to_unsafe_h.symbolize_keys.
+ reverse_merge!(url_options), route_name)
when String
options
when Symbol