code
This commit is contained in:
parent
0957f95ae9
commit
3db0d154a7
40
Handle-non-string-partial-body-in-ActionView-Collect.patch
Normal file
40
Handle-non-string-partial-body-in-ActionView-Collect.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 770060d93a897cb5fb5108bb828b927fe6bb5353 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Boussier <jean.boussier@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 11:20:43 +0200
|
||||
Subject: [PATCH] Handle non-string partial body in
|
||||
ActionView::CollectionCaching
|
||||
|
||||
Followup: https://github.com/rails/rails/pull/48645
|
||||
|
||||
Some template engines such as `jbuilder` use these Action View primitives
|
||||
with types other than strings, which breaks a bunch of assumptions.
|
||||
|
||||
I wish I could add a test for this, but this is deep in private methods
|
||||
I don't see a way to cover this.
|
||||
---
|
||||
.../renderer/partial_renderer/collection_caching.rb | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
|
||||
index d65d4c0cafaba..6ee720aa4896b 100644
|
||||
--- a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
|
||||
+++ b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
|
||||
@@ -96,9 +96,16 @@ def fetch_or_cache_partial(cached_partials, template, order_by:)
|
||||
build_rendered_template(content, template)
|
||||
else
|
||||
rendered_partial = yield
|
||||
- if fragment = rendered_partial.body&.to_str
|
||||
- entries_to_write[cache_key] = fragment
|
||||
+ body = rendered_partial.body
|
||||
+
|
||||
+ # We want to cache buffers as raw strings. This both improve performance and
|
||||
+ # avoid creating forward compatibility issues with the internal representation
|
||||
+ # of these two types.
|
||||
+ if body.is_a?(ActionView::OutputBuffer) || body.is_a?(ActiveSupport::SafeBuffer)
|
||||
+ body = body.to_str
|
||||
end
|
||||
+
|
||||
+ entries_to_write[cache_key] = body
|
||||
rendered_partial
|
||||
end
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
BIN
actionview-7.0.7.gem
Normal file
BIN
actionview-7.0.7.gem
Normal file
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
%bcond_with bootstrap
|
||||
|
||||
Name: rubygem-%{gem_name}
|
||||
Version: 7.0.4
|
||||
Version: 7.0.7
|
||||
Release: 1
|
||||
Summary: Rendering framework putting the V in MVC (part of Rails)
|
||||
License: MIT
|
||||
@ -11,18 +11,20 @@ Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
|
||||
# The gem doesn't ship with the test suite.
|
||||
# You may check it out like so
|
||||
# git clone http://github.com/rails/rails.git
|
||||
# cd rails/actionview && git archive -v -o actionview-7.0.4-tests.txz v7.0.4 test/
|
||||
# cd rails/actionview && git archive -v -o actionview-7.0.7-tests.txz v7.0.7 test/
|
||||
Source1: %{gem_name}-%{version}-tests.txz
|
||||
# The tools are needed for the test suite, are however unpackaged in gem file.
|
||||
# You may get them like so
|
||||
# git clone http://github.com/rails/rails.git --no-checkout
|
||||
# cd rails && git archive -v -o rails-7.0.4-tools.txz v7.0.4 tools/
|
||||
# cd rails && git archive -v -o rails-7.0.7-tools.txz v7.0.7 tools/
|
||||
Source2: rails-%{version}-tools.txz
|
||||
# Fixes for Minitest 5.16+
|
||||
# https://github.com/rails/rails/pull/45380
|
||||
Patch0: rubygem-actionview-7.0.2.3-Remove-the-multi-call-form-of-assert_called_with.patch
|
||||
# https://github.com/rails/rails/pull/45370
|
||||
Patch1: rubygem-actionview-7.0.2.3-Fix-tests-for-minitest-5.16.patch
|
||||
# https://github.com/rails/rails/commit/770060d93a897cb5fb5108bb828b927fe6bb5353
|
||||
Patch2: Handle-non-string-partial-body-in-ActionView-Collect.patch
|
||||
|
||||
BuildRequires: ruby(release)
|
||||
BuildRequires: rubygems-devel rubygem(did_you_mean)
|
||||
@ -49,6 +51,7 @@ Documentation for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{gem_name}-%{version} -b1 -b2
|
||||
%patch2 -p2
|
||||
|
||||
pushd %{_builddir}
|
||||
%patch0 -p2
|
||||
@ -96,6 +99,9 @@ popd
|
||||
%doc %{gem_instdir}/CHANGELOG.md
|
||||
|
||||
%changelog
|
||||
* Thu Aug 17 2023 wulei <wu_lei@hoperun.com> - 7.0.7-1
|
||||
- Upgrade to version 7.0.7
|
||||
|
||||
* Thu Jan 19 2023 yanxiaobing <yanxiaobing@huawei.com> - 7.0.4-1
|
||||
- Upgrade to version 7.0.4
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user