Skip to content
Browse files

Use lazy load hooks to set parameter wrapping configuration. This mea…

…ns that it doesn't force Action Controller / Active Record to load, but it doesn't fail if they have already loaded. Thanks @josevalim for the hint.
  • Loading branch information...
1 parent 0ab65e8 commit 29d0ce01032f4003f298b6c5ed0bc0b4b1e4b69a @jonleighton jonleighton committed
View
2 actionpack/lib/action_controller/metal/params_wrapper.rb
@@ -121,8 +121,6 @@ def wrap_parameters(name_or_model_or_options, options = {})
_set_wrapper_defaults(_wrapper_options.slice(:format).merge(options), model)
end
- alias :wrap_parameters= :wrap_parameters
-
# Sets the default wrapper key or model which will be used to determine
# wrapper key and attribute names. Will be called automatically when the
# module is inherited.
View
7 actionpack/test/controller/params_wrapper_test.rb
@@ -180,13 +180,6 @@ def test_not_wrapping_abstract_model
assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu', 'title' => 'Developer' }})
end
end
-
- def test_assignment_alias
- with_default_wrapper_options do
- UsersController.wrap_parameters = { :format => [:foo] }
- assert_equal({ :format => [:foo], :name => "user" }, UsersController._wrapper_options)
- end
- end
end
class NamespacedParamsWrapperTest < ActionController::TestCase
View
16 railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt
@@ -3,12 +3,14 @@
# This file contains settings for ActionController::ParamsWrapper which
# is enabled by default.
-<%= app_const %>.configure do
- # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
- config.action_controller.wrap_parameters = { <%= key_value :format, "[:json]" %> }
+# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
+ActiveSupport.on_load(:action_controller) do
+ wrap_parameters <%= key_value :format, "[:json]" %>
+end
- <%- unless options.skip_active_record? -%>
- # Disable root element in JSON by default.
- config.active_record.include_root_in_json = false
- <%- end -%>
+<%- unless options.skip_active_record? -%>
+# Disable root element in JSON by default.
+ActiveSupport.on_load(:active_record) do
+ self.include_root_in_json = false
end
+<%- end -%>

0 comments on commit 29d0ce0

Please sign in to comment.
Something went wrong with that request. Please try again.