From a8b812bcdfddd8e49934a60133e37d6fc648b5ef Mon Sep 17 00:00:00 2001 From: Daniel O'Connor Date: Sun, 3 Aug 2025 06:23:46 +0000 Subject: [PATCH 1/2] Refactor how string is built, so its a ActiveSupport::SafeBuffer.new rather than a string --- lib/action_view/helpers/dynamic_form.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/action_view/helpers/dynamic_form.rb b/lib/action_view/helpers/dynamic_form.rb index ecc171a..b88ffae 100644 --- a/lib/action_view/helpers/dynamic_form.rb +++ b/lib/action_view/helpers/dynamic_form.rb @@ -234,12 +234,12 @@ def error_messages_for(*params) end end.inject(:+).join.html_safe - contents = '' + contents = ''.html_safe contents << content_tag(options[:header_tag] || :h2, header_message) unless header_message.blank? contents << content_tag(:p, message) unless message.blank? contents << content_tag(:ul, error_messages) - content_tag(:div, contents.html_safe, html) + content_tag(:div, contents, html) end else '' From bd06e3694cd51b9640106616bcae1369dd10d40d Mon Sep 17 00:00:00 2001 From: Daniel O'Connor Date: Sun, 3 Aug 2025 06:25:46 +0000 Subject: [PATCH 2/2] Opt in to frozen string literals, as we are no longer mutating a string --- lib/action_view/helpers/dynamic_form.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/action_view/helpers/dynamic_form.rb b/lib/action_view/helpers/dynamic_form.rb index b88ffae..1cd07ca 100644 --- a/lib/action_view/helpers/dynamic_form.rb +++ b/lib/action_view/helpers/dynamic_form.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'action_view/helpers' require 'active_support/i18n' require 'active_support/core_ext/enumerable'