Я пытаюсь вставить контент в заголовок своей страницы для каждого элемента, поэтому я хотел бы указать что-то вроде этого в частичном:
# _partial.html.erb
<%= content_for :style %>
.element {
background-color: red;
}
<% end %>
И поместите это в начало моей страницы:
# application.html.erb
<head>
<style>
<%= content_for(:style) %>
</style>
</head>
Но частичные элементы элемента кэшируются фрагментом, content_for
игнорируется в кешах.
В документации Rails сказано, что content_for
не будет работать с рабочими элементами, кэшируемыми фрагментами:
WARNING: content_for is ignored in caches. So you shouldn't use it for elements that will be fragment cached.
http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for
Есть ли в настоящее время способ заставить content_for
работать с кешированием фрагментов в Rails 5.1? Кажется, какое-то время никто особо не касался этого вопроса. Кто-нибудь знает, есть ли причина, почему?
Здесь есть несколько более старых упоминаний:
Есть ли обходной путь для игнорируемых блоков content_for с caches_action и: layout = ›false?
content_for работает в разработке, но не в производстве?
https://gist.github.com/stackng/891895
https://rails.lighthouseapp.com/projects/8994/tickets/3409-content_for-and-fragment-caching