aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorShuhei Kagawa <s-kagawa@m3.com>2015-03-27 15:41:05 +0900
committerShuhei Kagawa <shuhei.kagawa@gmail.com>2015-03-28 10:40:58 +0900
commit1b0526eaac87342b5413183e082b51b10a6ace6e (patch)
treeae3d341383ed623a7a13b8104596cdba71d58496 /actionpack/lib/action_controller
parente1b967e7e0edc0f59b49558d2c3d4afd9125a59f (diff)
downloadrails-1b0526eaac87342b5413183e082b51b10a6ace6e.tar.gz
rails-1b0526eaac87342b5413183e082b51b10a6ace6e.tar.bz2
rails-1b0526eaac87342b5413183e082b51b10a6ace6e.zip
Return super in ActionController::Parameters.const_missing
The current implementation of ActionController::Parameters.const_missing returns `ActionController::Parameters.always_permitted_parameters` even if its `super` returns a constant without raising error. This prevents its subclass in a autoloading module/class from taking advantage of autoloading constants. class SomeParameters < ActionController::Parameters def do_something DefinedSomewhere.do_something end end In the code above, `DefinedSomewhere` is to be autoloaded with `Module.const_missing` but `ActionController::Parameters.const_missing` returns `always_permitted_parameters` instead of the autoloaded constant. This pull request fixes the issue respecting `const_missing`'s `super`.
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/metal/strong_parameters.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb
index f19c4201ba..e30c9c5ade 100644
--- a/actionpack/lib/action_controller/metal/strong_parameters.rb
+++ b/actionpack/lib/action_controller/metal/strong_parameters.rb
@@ -117,7 +117,7 @@ module ActionController
self.always_permitted_parameters = %w( controller action )
def self.const_missing(const_name)
- super unless const_name == :NEVER_UNPERMITTED_PARAMS
+ return super unless const_name == :NEVER_UNPERMITTED_PARAMS
ActiveSupport::Deprecation.warn(<<-MSG.squish)
`ActionController::Parameters::NEVER_UNPERMITTED_PARAMS` has been deprecated.
Use `ActionController::Parameters.always_permitted_parameters` instead.