aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_view/base.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb
index ec1b07797b..01f33203ed 100644
--- a/actionpack/lib/action_view/base.rb
+++ b/actionpack/lib/action_view/base.rb
@@ -236,7 +236,9 @@ module ActionView #:nodoc:
# they are in AC.
if controller.class.respond_to?(:_helper_serial)
klass = @views[controller.class._helper_serial] ||= Class.new(self) do
- Subclasses.const_set(controller.class.name.gsub(/::/, '__'), self)
+ name = controller.class.name.gsub(/::/, '__')
+ Subclasses.remove_const(name) if Subclasses.const_defined?(name)
+ Subclasses.const_set(name, self)
if controller.respond_to?(:_helpers)
include controller._helpers