diff options
author | Carl Lerche <carllerche@mac.com> | 2010-03-16 14:55:42 -0700 |
---|---|---|
committer | Carlhuda <carlhuda@engineyard.com> | 2010-03-16 15:47:49 -0700 |
commit | 23b6def0eb76ac0719e420fce91ba862f880a37b (patch) | |
tree | 53ecc35cf7737fd3c3382ce54f07630d1021054d /actionpack/lib/action_view | |
parent | 3abf5ad7f8b23d955225ba96e82fd5565dd2571d (diff) | |
download | rails-23b6def0eb76ac0719e420fce91ba862f880a37b.tar.gz rails-23b6def0eb76ac0719e420fce91ba862f880a37b.tar.bz2 rails-23b6def0eb76ac0719e420fce91ba862f880a37b.zip |
Do not always include the named URL helpers into AC::Base and AV::Base.
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r-- | actionpack/lib/action_view/base.rb | 4 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/url_helper.rb | 7 | ||||
-rw-r--r-- | actionpack/lib/action_view/test_case.rb | 3 |
3 files changed, 13 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index 3920d8593f..daabe6d196 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -235,6 +235,10 @@ module ActionView #:nodoc: include controller._helpers self.helpers = controller._helpers end + + if controller.respond_to?(:_router) + include controller._router.url_helpers + end end else klass = self diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb index 94f1cecade..f877378ebe 100644 --- a/actionpack/lib/action_view/helpers/url_helper.rb +++ b/actionpack/lib/action_view/helpers/url_helper.rb @@ -9,6 +9,9 @@ module ActionView # This allows you to use the same format for links in views # and controllers. module UrlHelper + extend ActiveSupport::Concern + + include ActionDispatch::Routing::UrlFor include JavaScriptHelper # Need to map default url options to controller one. @@ -16,6 +19,10 @@ module ActionView controller.send(:default_url_options, *args) end + def url_options + controller.url_options + end + # Returns the URL for the set of +options+ provided. This takes the # same options as +url_for+ in Action Controller (see the # documentation for <tt>ActionController::Base#url_for</tt>). Note that by default diff --git a/actionpack/lib/action_view/test_case.rb b/actionpack/lib/action_view/test_case.rb index 1578ac9479..7e609eb640 100644 --- a/actionpack/lib/action_view/test_case.rb +++ b/actionpack/lib/action_view/test_case.rb @@ -124,7 +124,8 @@ module ActionView def _view view = ActionView::Base.new(ActionController::Base.view_paths, _assigns, @controller) - view.class.send :include, _helpers + view.singleton_class.send :include, _helpers + view.singleton_class.send :include, @controller._router.url_helpers view.output_buffer = self.output_buffer view end |