diff options
Diffstat (limited to 'actionpack/lib/action_dispatch/routing/url_for.rb')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/url_for.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/actionpack/lib/action_dispatch/routing/url_for.rb b/actionpack/lib/action_dispatch/routing/url_for.rb index afbb2ecf16..be5edcc120 100644 --- a/actionpack/lib/action_dispatch/routing/url_for.rb +++ b/actionpack/lib/action_dispatch/routing/url_for.rb @@ -102,14 +102,15 @@ module ActionDispatch def url_options @url_options ||= begin - opts = self.class.default_url_options - opts.merge(:script_name => _router.script_name) if respond_to?(:_router) - opts + # self.class does not respond to default_url_options when the helpers are extended + # onto a singleton + self.class.respond_to?(:default_url_options) ? self.class.default_url_options : {} end end def url_options=(options) - @url_options = options + defaults = self.class.respond_to?(:default_url_options) ? self.class.default_url_options : {} + @url_options = defaults.merge(options) end # def merge_options(options) #:nodoc: |