aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view
diff options
context:
space:
mode:
authorCarl Lerche <carllerche@mac.com>2010-03-16 14:55:42 -0700
committerCarlhuda <carlhuda@engineyard.com>2010-03-16 15:47:49 -0700
commit23b6def0eb76ac0719e420fce91ba862f880a37b (patch)
tree53ecc35cf7737fd3c3382ce54f07630d1021054d /actionpack/lib/action_view
parent3abf5ad7f8b23d955225ba96e82fd5565dd2571d (diff)
downloadrails-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.rb4
-rw-r--r--actionpack/lib/action_view/helpers/url_helper.rb7
-rw-r--r--actionpack/lib/action_view/test_case.rb3
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