diff --git a/actionpack/lib/action_controller/metal/params_wrapper.rb b/actionpack/lib/action_controller/metal/params_wrapper.rb index b7c37ce1c186e531489b4b07b55b2ae8a0b993fd..93241fc05639060d46f728c84de91297264f70f7 100644 --- a/actionpack/lib/action_controller/metal/params_wrapper.rb +++ b/actionpack/lib/action_controller/metal/params_wrapper.rb @@ -2,6 +2,7 @@ require 'active_support/core_ext/hash/slice' require 'active_support/core_ext/hash/except' require 'active_support/core_ext/array/wrap' +require 'active_support/core_ext/module/anonymous' require 'action_dispatch/http/mime_types' module ActionController @@ -140,7 +141,7 @@ def inherited(klass) # This method also does namespace lookup. Foo::Bar::UsersController will # try to find Foo::Bar::User, Foo::User and finally User. def _default_wrap_model #:nodoc: - return nil if self.name.nil? + return nil if self.anonymous? model_name = self.name.sub(/Controller$/, '').singularize @@ -170,7 +171,7 @@ def _set_wrapper_defaults(options, model=nil) end end - unless options[:name] || self.name.nil? + unless options[:name] || self.anonymous? model ||= _default_wrap_model options[:name] = model ? model.to_s.demodulize.underscore : controller_name.singularize diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 5e4b48a531b317b72d4094d33bb5fd8ee79cbc34..89ff5ba1740da5bfca0a273f97eacf4ce1e98082 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -2,6 +2,7 @@ require 'active_support/core_ext/object/blank' require 'active_support/core_ext/object/to_query' require 'active_support/core_ext/class/attribute' +require 'active_support/core_ext/module/anonymous' module ActionController module TemplateAssertions @@ -413,9 +414,9 @@ def process(action, parameters = nil, session = nil, flash = nil, http_method = @request.env['REQUEST_METHOD'] = http_method parameters ||= {} - controller_class_name = @controller.class.name ? - @controller.class.name.underscore.sub(/_controller$/, '') : - "anonymous_controller" + controller_class_name = @controller.class.anonymous? ? + "anonymous_controller" : + @controller.class.name.underscore.sub(/_controller$/, '') @request.assign_parameters(@routes, controller_class_name, action.to_s, parameters)