mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Revert "Refactor passing url options via array for polymorphic_url"
Passing options as the last value in an array doesn't work with form_for.
This reverts commit 6be564c7a0
.
This commit is contained in:
parent
96290d4faf
commit
4059423809
3 changed files with 2 additions and 11 deletions
|
@ -1,7 +1,5 @@
|
|||
## Rails 4.0.0 (unreleased) ##
|
||||
|
||||
* Add the ability to pass options as part of the array notation for `polymorphic_url` *Romain Tribes*
|
||||
|
||||
* Fixed issue with where Digest authentication would not work behind a proxy. *Arthur Smith*
|
||||
|
||||
* Added ActionController::Live. Mix it in to your controller and you can
|
||||
|
|
|
@ -93,7 +93,6 @@ module ActionDispatch
|
|||
def polymorphic_url(record_or_hash_or_array, options = {})
|
||||
if record_or_hash_or_array.kind_of?(Array)
|
||||
record_or_hash_or_array = record_or_hash_or_array.compact
|
||||
options.reverse_merge!(record_or_hash_or_array.extract_options!)
|
||||
if record_or_hash_or_array.first.is_a?(ActionDispatch::Routing::RoutesProxy)
|
||||
proxy = record_or_hash_or_array.shift
|
||||
end
|
||||
|
@ -166,6 +165,7 @@ module ActionDispatch
|
|||
|
||||
def build_named_route_call(records, inflection, options = {})
|
||||
if records.is_a?(Array)
|
||||
query_string = records.pop if records.last.is_a?(Hash)
|
||||
record = records.pop
|
||||
route = records.map do |parent|
|
||||
if parent.is_a?(Symbol) || parent.is_a?(String)
|
||||
|
@ -199,7 +199,7 @@ module ActionDispatch
|
|||
def extract_record(record_or_hash_or_array)
|
||||
case record_or_hash_or_array
|
||||
when Array
|
||||
record_or_hash_or_array.last
|
||||
record_or_hash_or_array.last.is_a?(Hash) ? record_or_hash_or_array[-2] : record_or_hash_or_array.last
|
||||
when Hash; record_or_hash_or_array[:id]
|
||||
else record_or_hash_or_array
|
||||
end
|
||||
|
|
|
@ -323,13 +323,6 @@ class PolymorphicRoutesTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_with_array_containing_simple_hash_options_take_precedence
|
||||
with_test_routes do
|
||||
@project.save
|
||||
assert_equal "http://example.com/projects/#{@project.id}?foo=baz", polymorphic_url([@project, :foo => 'bar' ], :foo => 'baz')
|
||||
end
|
||||
end
|
||||
|
||||
def test_with_array_containing_single_name
|
||||
with_test_routes do
|
||||
@project.save
|
||||
|
|
Loading…
Reference in a new issue