aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb
diff options
context:
space:
mode:
authorGert Goet <gert@thinkcreate.nl>2014-09-25 17:50:16 +0200
committerGert Goet <gert@thinkcreate.nl>2014-09-25 17:50:16 +0200
commit2d08fd250638a39fbc8509b4e1c3f87a5f9e36c6 (patch)
tree86235eaae656896745748ec3570ce8e27bde0aaa /actionpack/lib/action_dispatch/routing/polymorphic_routes.rb
parentf620299b2784f7ce5f01a4e123525d04f97be4dd (diff)
downloadrails-2d08fd250638a39fbc8509b4e1c3f87a5f9e36c6.tar.gz
rails-2d08fd250638a39fbc8509b4e1c3f87a5f9e36c6.tar.bz2
rails-2d08fd250638a39fbc8509b4e1c3f87a5f9e36c6.zip
Remove internal options from query string of paths
Fixes #17057
Diffstat (limited to 'actionpack/lib/action_dispatch/routing/polymorphic_routes.rb')
-rw-r--r--actionpack/lib/action_dispatch/routing/polymorphic_routes.rb21
1 files changed, 3 insertions, 18 deletions
diff --git a/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb b/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb
index f15868d37e..1fa438f2eb 100644
--- a/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb
+++ b/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb
@@ -116,27 +116,13 @@ module ActionDispatch
action,
type,
opts
-
end
# Returns the path component of a URL for the given record. It uses
# <tt>polymorphic_url</tt> with <tt>routing_type: :path</tt>.
def polymorphic_path(record_or_hash_or_array, options = {})
- if Hash === record_or_hash_or_array
- options = record_or_hash_or_array.merge(options)
- record = options.delete :id
- return polymorphic_path record, options
- end
-
- opts = options.dup
- action = opts.delete :action
- type = :path
-
- HelperMethodBuilder.polymorphic_method self,
- record_or_hash_or_array,
- action,
- type,
- opts
+ opts = options.reverse_merge(:routing_type => :path)
+ polymorphic_url(record_or_hash_or_array, opts)
end
@@ -159,8 +145,7 @@ module ActionDispatch
end
def polymorphic_path_for_action(action, record_or_hash, options)
- options = options.merge(:action => action, :routing_type => :path)
- polymorphic_path(record_or_hash, options)
+ polymorphic_path(record_or_hash, options.merge(:action => action))
end
class HelperMethodBuilder # :nodoc: