aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@envy8.local>2008-04-11 12:34:44 -0500
committerDavid Heinemeier Hansson <david@envy8.local>2008-04-11 12:34:44 -0500
commite89093aeb4b1f544cb54caf54a0374075250cc59 (patch)
treecc4f9533e473c8453ce14e0a0340ef5e9dac0bd4 /actionpack/lib/action_controller
parentf46fd6f2fceb22f00669f066fc98f92a18e5875f (diff)
downloadrails-e89093aeb4b1f544cb54caf54a0374075250cc59.tar.gz
rails-e89093aeb4b1f544cb54caf54a0374075250cc59.tar.bz2
rails-e89093aeb4b1f544cb54caf54a0374075250cc59.zip
Fixed that formatted_polymorphic_route should be able to take the :format as part of a single hash or as the option hash (references #8741)
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/polymorphic_routes.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/polymorphic_routes.rb b/actionpack/lib/action_controller/polymorphic_routes.rb
index f043d89dae..2cc2ec7723 100644
--- a/actionpack/lib/action_controller/polymorphic_routes.rb
+++ b/actionpack/lib/action_controller/polymorphic_routes.rb
@@ -73,7 +73,7 @@ module ActionController
end
record = extract_record(record_or_hash_or_array)
- format = (options[:action].to_s == "formatted" and record_or_hash_or_array.pop)
+ format = extract_format(record_or_hash_or_array, options)
namespace = extract_namespace(record_or_hash_or_array)
args = case record_or_hash_or_array
@@ -152,6 +152,16 @@ module ActionController
end
end
+ def extract_format(record_or_hash_or_array, options)
+ if options[:action].to_s == "formatted" && record_or_hash_or_array.is_a?(Array)
+ record_or_hash_or_array.pop
+ elsif options[:format]
+ options[:format]
+ else
+ nil
+ end
+ end
+
def extract_namespace(record_or_hash_or_array)
returning "" do |namespace|
if record_or_hash_or_array.is_a?(Array)