From 9dd52c24e15403a7574c14af37f10a3d403441ef Mon Sep 17 00:00:00 2001 From: Mac Siri Date: Mon, 27 Jun 2022 09:33:37 -0400 Subject: [PATCH] Enable Rails 7's framework wrap_parameters_by_default & cookies_serializer (#17984) --- config/application.rb | 8 ++++++++ config/initializers/cookies_serializer.rb | 5 ----- .../initializers/new_framework_defaults_7_0.rb | 17 ----------------- config/initializers/wrap_parameters.rb | 16 ---------------- 4 files changed, 8 insertions(+), 38 deletions(-) delete mode 100644 config/initializers/cookies_serializer.rb delete mode 100644 config/initializers/wrap_parameters.rb diff --git a/config/application.rb b/config/application.rb index 3b987b4ac..e3ba80ec1 100644 --- a/config/application.rb +++ b/config/application.rb @@ -50,6 +50,14 @@ module PracticalDeveloper # Make `form_with` generate non-remote forms by default. We want this to be true as it was the default in 5.2 config.action_view.form_with_generates_remote_forms = true + + ## Rails 7.0 + config.action_dispatch.cookies_serializer = :json + + # Enable parameter wrapping for JSON. + # Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it. + # To disable parameter wrapping entirely, set this config to `false`. + config.action_controller.wrap_parameters_by_default = false ### END FRAMEWORK DEFAULT OVERIDES # Disable auto adding of default load paths to $LOAD_PATH diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb deleted file mode 100644 index 5a6a32d37..000000000 --- a/config/initializers/cookies_serializer.rb +++ /dev/null @@ -1,5 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Specify a serializer for the signed and encrypted cookie jars. -# Valid options are :json, :marshal, and :hybrid. -Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/config/initializers/new_framework_defaults_7_0.rb b/config/initializers/new_framework_defaults_7_0.rb index 7a425626d..cc7378dab 100644 --- a/config/initializers/new_framework_defaults_7_0.rb +++ b/config/initializers/new_framework_defaults_7_0.rb @@ -69,23 +69,6 @@ Rails.application.config.active_record.partial_inserts = false # Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`. Rails.application.config.action_controller.raise_on_open_redirects = true -# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer -# was `:marshal`. Convert all cookies to JSON, using the `:hybrid` formatter. -# -# If you're confident all your cookies are JSON formatted, you can switch to the `:json` formatter. -# -# Continue to use `:marshal` for backward-compatibility with old cookies. -# -# If you have configured the serializer elsewhere, you can remove this. -# -# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information. -# Rails.application.config.action_dispatch.cookies_serializer = :hybrid - -# Enable parameter wrapping for JSON. -# Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it. -# To disable parameter wrapping entirely, set this config to `false`. -# Rails.application.config.action_controller.wrap_parameters_by_default = true - # Specifies whether generated namespaced UUIDs follow the RFC 4122 standard for namespace IDs provided as a # `String` to `Digest::UUID.uuid_v3` or `Digest::UUID.uuid_v5` method calls. # diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb deleted file mode 100644 index 6c76be35f..000000000 --- a/config/initializers/wrap_parameters.rb +++ /dev/null @@ -1,16 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# This file contains settings for ActionController::ParamsWrapper which -# is enabled by default. - -# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. -ActiveSupport.on_load(:action_controller) do - # Globally disable auto wrapping resulting in a stricter API and to avoid bugs with array payloads. - # See - wrap_parameters format: [] -end - -# To enable root element in JSON for ActiveRecord objects. -# ActiveSupport.on_load(:active_record) do -# self.include_root_in_json = true -# end