diff --git a/actionview/lib/action_view/railtie.rb b/actionview/lib/action_view/railtie.rb index 12d06bf376..12bdc642d4 100644 --- a/actionview/lib/action_view/railtie.rb +++ b/actionview/lib/action_view/railtie.rb @@ -10,7 +10,6 @@ class Railtie < Rails::Engine # :nodoc: config.action_view.embed_authenticity_token_in_remote_forms = nil config.action_view.debug_missing_translation = true config.action_view.default_enforce_utf8 = nil - config.action_view.finalize_compiled_template_methods = true config.eager_load_namespaces << ActionView @@ -46,13 +45,6 @@ class Railtie < Rails::Engine # :nodoc: end end - initializer "action_view.finalize_compiled_template_methods" do |app| - ActiveSupport.on_load(:action_view) do - ActionView::Template.finalize_compiled_template_methods = - app.config.action_view.delete(:finalize_compiled_template_methods) - end - end - initializer "action_view.logger" do ActiveSupport.on_load(:action_view) { self.logger ||= Rails.logger } end diff --git a/actionview/lib/action_view/template.rb b/actionview/lib/action_view/template.rb index 8a5407c622..69e28770eb 100644 --- a/actionview/lib/action_view/template.rb +++ b/actionview/lib/action_view/template.rb @@ -10,8 +10,6 @@ module ActionView class Template extend ActiveSupport::Autoload - mattr_accessor :finalize_compiled_template_methods, default: true - # === Encodings in ActionView::Template # # ActionView::Template is one of a few sources of potential @@ -118,16 +116,6 @@ class Template attr_reader :source, :identifier, :handler, :original_encoding, :updated_at - # This finalizer is needed (and exactly with a proc inside another proc) - # otherwise templates leak in development. - Finalizer = proc do |method_name, mod| # :nodoc: - proc do - mod.module_eval do - remove_possible_method method_name - end - end - end - attr_reader :variable def initialize(source, identifier, handler, details) @@ -337,9 +325,6 @@ def #{method_name}(local_assigns, output_buffer) end mod.module_eval(source, identifier, 0) - if finalize_compiled_template_methods - ObjectSpace.define_finalizer(self, Finalizer[method_name, mod]) - end end def handle_render_error(view, e) diff --git a/guides/source/configuring.md b/guides/source/configuring.md index 2911b1f7c3..e7129dd274 100644 --- a/guides/source/configuring.md +++ b/guides/source/configuring.md @@ -590,13 +590,6 @@ Defaults to `'signed cookie'`. * `config.action_view.default_enforce_utf8` determines whether forms are generated with a hidden tag that forces older versions of Internet Explorer to submit forms encoded in UTF-8. This defaults to `false`. -* `config.action_view.finalize_compiled_template_methods` determines - whether the methods on `ActionView::CompiledTemplates` that templates - compile themselves to are removed when template instances are - destroyed by the garbage collector. This helps prevent memory leaks in - development mode, but for large test suites, disabling this option in - the test environment can improve performance. This defaults to `true`. - ### Configuring Action Mailbox diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt index 223aa56187..63ed3fa952 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +++ b/railties/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt @@ -48,7 +48,4 @@ Rails.application.configure do # Raises error for missing translations. # config.action_view.raise_on_missing_translations = true - - # Prevent expensive template finalization at end of test suite runs. - config.action_view.finalize_compiled_template_methods = false end diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index 7006b0855f..79bf7e6fd0 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -2092,23 +2092,6 @@ class ::DummySerializer < ActiveJob::Serializers::ObjectSerializer; end assert_equal true, ActionView::Helpers::FormTagHelper.default_enforce_utf8 end - test "ActionView::Template.finalize_compiled_template_methods is true by default" do - app "test" - assert_equal true, ActionView::Template.finalize_compiled_template_methods - end - - test "ActionView::Template.finalize_compiled_template_methods can be configured via config.action_view.finalize_compiled_template_methods" do - app_file "config/environments/test.rb", <<-RUBY - Rails.application.configure do - config.action_view.finalize_compiled_template_methods = false - end - RUBY - - app "test" - - assert_equal false, ActionView::Template.finalize_compiled_template_methods - end - test "ActiveJob::Base.return_false_on_aborted_enqueue is true by default" do app "development"