aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/routing.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/routing.rb')
-rw-r--r--actionpack/lib/action_controller/routing.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb
index 940136efd0..d69c862989 100644
--- a/actionpack/lib/action_controller/routing.rb
+++ b/actionpack/lib/action_controller/routing.rb
@@ -256,13 +256,14 @@ module ActionController
class Route #:nodoc:
attr_accessor :components, :known
- attr_reader :path, :options, :keys
+ attr_reader :path, :options, :keys, :defaults
def initialize(path, options = {})
@path, @options = path, options
initialize_components path
defaults, conditions = initialize_hashes options.dup
+ @defaults = defaults.dup
configure_components(defaults, conditions)
initialize_keys
end
@@ -576,7 +577,7 @@ module ActionController
end
def name_route(route, name)
- hash = route.known.symbolize_keys
+ hash = route.defaults.merge(route.known).symbolize_keys
hash[:controller] = "/#{hash[:controller]}"
define_method(hash_access_name(name)) { hash }