diff --git a/actionpack/lib/action_controller/new_base/helpers.rb b/actionpack/lib/action_controller/new_base/helpers.rb index 60d1a6f7754edf6f0bb6516e5599957f7b52232e..8ddfc70607e4a0a6579d36d223506bd6e287bd02 100644 --- a/actionpack/lib/action_controller/new_base/helpers.rb +++ b/actionpack/lib/action_controller/new_base/helpers.rb @@ -16,7 +16,7 @@ module Helpers module ClassMethods def inherited(klass) - klass.__send__ :default_helper_module! + klass.class_eval { default_helper_module! unless name.blank? } super end @@ -92,16 +92,13 @@ def _modules_for_helpers(args) end def default_helper_module! - unless name.blank? - module_name = name.sub(/Controller$|$/, 'Helper') - module_path = module_name.split('::').map { |m| m.underscore }.join('/') - require_dependency module_path - helper module_name.constantize - end + module_name = name.sub(/Controller$/, '') + module_path = module_name.underscore + helper module_path rescue MissingSourceFile => e - raise e unless e.is_missing? module_path + raise e unless e.is_missing? "#{module_path}_helper" rescue NameError => e - raise e unless e.missing_name? module_name + raise e unless e.missing_name? "#{module_name}Helper" end # Extract helper names from files in app/helpers/**/*.rb