aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-04-12 16:49:41 +0200
committerJosé Valim <jose.valim@gmail.com>2010-04-12 16:49:41 +0200
commita8b1ca26d77823e7f51b9be1b64ff1aa5cc125b2 (patch)
tree84065d0b8ba89231ffb35298ba6bd39d81295cc7 /actionpack/lib/action_dispatch
parentccf33660a1548dadd123a92df6de2de946d208c4 (diff)
downloadrails-a8b1ca26d77823e7f51b9be1b64ff1aa5cc125b2.tar.gz
rails-a8b1ca26d77823e7f51b9be1b64ff1aa5cc125b2.tar.bz2
rails-a8b1ca26d77823e7f51b9be1b64ff1aa5cc125b2.zip
Ensure match path, :controller => name works as expected.
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index 3e15caee2d..9c30f2a27a 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -124,11 +124,13 @@ module ActionDispatch
controller, action = to.split('#')
{ :controller => controller, :action => action }
when Symbol
- { :action => to.to_s }.merge(default_controller ? { :controller => default_controller } : {})
+ { :action => to.to_s }
else
- default_controller ? { :controller => default_controller } : {}
+ {}
end
+ defaults[:controller] ||= @options[:controller] || default_controller
+
if defaults[:controller].blank? && segment_keys.exclude?("controller")
raise ArgumentError, "missing :controller"
end