From 995f57033f5a36d9ddd3aa65f0f01cccbb6baf6e Mon Sep 17 00:00:00 2001 From: wycats Date: Thu, 18 Mar 2010 22:21:25 -0700 Subject: We seem to have removed the URL helpers from ActionView subclasses... --- actionpack/lib/abstract_controller/layouts.rb | 1 + actionpack/lib/abstract_controller/rendering.rb | 6 ++++++ actionpack/lib/action_dispatch/routing/route_set.rb | 1 + 3 files changed, 8 insertions(+) diff --git a/actionpack/lib/abstract_controller/layouts.rb b/actionpack/lib/abstract_controller/layouts.rb index 0cf904815a..319472c937 100644 --- a/actionpack/lib/abstract_controller/layouts.rb +++ b/actionpack/lib/abstract_controller/layouts.rb @@ -297,6 +297,7 @@ module AbstractController def initialize(*) @action_has_layout = true + super end def action_has_layout? diff --git a/actionpack/lib/abstract_controller/rendering.rb b/actionpack/lib/abstract_controller/rendering.rb index 58d339d563..cde14916f2 100644 --- a/actionpack/lib/abstract_controller/rendering.rb +++ b/actionpack/lib/abstract_controller/rendering.rb @@ -49,6 +49,7 @@ module AbstractController Class.new(ActionView::Base) do if controller.respond_to?(:_helpers) include controller._helpers + include controller._router.url_helpers # TODO: Fix RJS to not require this self.helpers = controller._helpers end @@ -63,6 +64,11 @@ module AbstractController @view_context_class || self.class.view_context_class end + def initialize(*) + @view_context_class = nil + super + end + # An instance of a view class. The default view class is ActionView::Base # # The view class must have the following methods: diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 8936d7659a..52f3fd1610 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -258,6 +258,7 @@ module ActionDispatch # Yes plz - JP included do routes.install_helpers(self) + singleton_class.send(:define_method, :_router) { routes } end define_method(:_router) { routes } -- cgit v1.2.3