diff options
author | José Valim <jose.valim@gmail.com> | 2010-04-12 20:23:35 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-04-12 20:23:35 +0200 |
commit | 86defed5ad6c1ec95b2f07a93982a514e2347749 (patch) | |
tree | 3d0bb0c35f776cd2afacb5ec160aaeb4e329a2c9 /actionpack/lib/action_dispatch/routing | |
parent | 25cb21328a1eb4e6d25b1f7355563684423dd108 (diff) | |
download | rails-86defed5ad6c1ec95b2f07a93982a514e2347749.tar.gz rails-86defed5ad6c1ec95b2f07a93982a514e2347749.tar.bz2 rails-86defed5ad6c1ec95b2f07a93982a514e2347749.zip |
Fix a bug in url generation for generic routes.
Diffstat (limited to 'actionpack/lib/action_dispatch/routing')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 9c30f2a27a..53585740ce 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -129,7 +129,10 @@ module ActionDispatch {} end - defaults[:controller] ||= @options[:controller] || default_controller + defaults[:controller] ||= default_controller + + defaults.delete(:controller) if defaults[:controller].blank? + defaults.delete(:action) if defaults[:action].blank? if defaults[:controller].blank? && segment_keys.exclude?("controller") raise ArgumentError, "missing :controller" @@ -177,7 +180,11 @@ module ActionDispatch end def default_controller - @scope[:controller].to_s if @scope[:controller] + if @options[:controller] + @options[:controller].to_s + elsif @scope[:controller] + @scope[:controller].to_s + end end end |