aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/routing
diff options
context:
space:
mode:
authorCheah Chu Yeow <chuyeow@gmail.com>2008-04-20 12:57:36 +0800
committerMichael Koziarski <michael@koziarski.com>2008-05-04 12:49:44 +1200
commit6a6b4392c16c665eb713705f2b38e959a658eeef (patch)
treee5769a86f89bcfb084726be42bad07d365dee5ac /actionpack/lib/action_controller/routing
parent437f918646fd141fd57350f55a8890b18ebfb148 (diff)
downloadrails-6a6b4392c16c665eb713705f2b38e959a658eeef.tar.gz
rails-6a6b4392c16c665eb713705f2b38e959a658eeef.tar.bz2
rails-6a6b4392c16c665eb713705f2b38e959a658eeef.zip
Ensure that default_url_options, if defined, are used in named routes.
Signed-off-by: Michael Koziarski <michael@koziarski.com> [#22 state:resolved]
Diffstat (limited to 'actionpack/lib/action_controller/routing')
-rw-r--r--actionpack/lib/action_controller/routing/optimisations.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/routing/optimisations.rb b/actionpack/lib/action_controller/routing/optimisations.rb
index 534cf10315..3e3a2225f0 100644
--- a/actionpack/lib/action_controller/routing/optimisations.rb
+++ b/actionpack/lib/action_controller/routing/optimisations.rb
@@ -61,9 +61,9 @@ module ActionController
# if they're using foo_url(:id=>2) it's one
# argument, but we don't want to generate /foos/id2
if number_of_arguments == 1
- "defined?(request) && request && args.size == 1 && !args.first.is_a?(Hash)"
+ "(!defined?(default_url_options) || default_url_options(nil).blank?) && defined?(request) && request && args.size == 1 && !args.first.is_a?(Hash)"
else
- "defined?(request) && request && args.size == #{number_of_arguments}"
+ "(!defined?(default_url_options) || default_url_options(nil).blank?) && defined?(request) && request && args.size == #{number_of_arguments}"
end
end
@@ -98,7 +98,7 @@ module ActionController
# argument
class PositionalArgumentsWithAdditionalParams < PositionalArguments
def guard_condition
- "defined?(request) && request && args.size == #{route.segment_keys.size + 1} && !args.last.has_key?(:anchor) && !args.last.has_key?(:port) && !args.last.has_key?(:host)"
+ "(!defined?(default_url_options) || default_url_options(nil).blank?) && defined?(request) && request && args.size == #{route.segment_keys.size + 1} && !args.last.has_key?(:anchor) && !args.last.has_key?(:port) && !args.last.has_key?(:host)"
end
# This case uses almost the same code as positional arguments,