mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Use lazy load hooks to set parameter wrapping configuration. This means 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.
This commit is contained in:
parent
d0d25a9317
commit
8e23615245
3 changed files with 10 additions and 17 deletions
|
@ -121,8 +121,6 @@ module ActionController
|
|||
_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.
|
||||
|
|
|
@ -180,13 +180,6 @@ class ParamsWrapperTest < ActionController::TestCase
|
|||
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
|
||||
|
|
|
@ -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]" %> }
|
||||
|
||||
<%- unless options.skip_active_record? -%>
|
||||
# Disable root element in JSON by default.
|
||||
config.active_record.include_root_in_json = false
|
||||
<%- end -%>
|
||||
# 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.
|
||||
ActiveSupport.on_load(:active_record) do
|
||||
self.include_root_in_json = false
|
||||
end
|
||||
<%- end -%>
|
||||
|
|
Loading…
Reference in a new issue