aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index 6a6af41320..2b6c655d08 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -62,6 +62,8 @@ module ActionDispatch
attr_reader :to, :default_controller, :default_action, :as, :anchor
def self.build(scope, set, path, as, controller, default_action, to, options)
+ formatted = options.delete(:format) { scope[:options] && scope[:options][:format] }
+
options = scope[:options].merge(options) if scope[:options]
options.delete :only
@@ -69,13 +71,14 @@ module ActionDispatch
options.delete :shallow_path
options.delete :shallow_prefix
options.delete :shallow
+ options.delete :format
defaults = (scope[:defaults] || {}).dup
- new scope, set, path, defaults, as, controller, default_action, scope[:module], to, options
+ new scope, set, path, defaults, as, controller, default_action, scope[:module], to, formatted, options
end
- def initialize(scope, set, path, defaults, as, controller, default_action, modyoule, to, options)
+ def initialize(scope, set, path, defaults, as, controller, default_action, modyoule, to, formatted, options)
@requirements, @conditions = {}, {}
@defaults = defaults
@set = set
@@ -86,7 +89,6 @@ module ActionDispatch
@as = as
@anchor = options.delete :anchor
- formatted = options.delete :format
via = Array(options.delete(:via) { [] })
options_constraints = options.delete :constraints