У меня в приложении большой блок HTML, который я хотел бы переместить в общий шаблон, а затем использовать content_for с выходами для вставки необходимого контента.Однако, если я использую его более одного раза в одном и том же файле макета, content_for просто добавляется к предыдущему, что делает эту идею неэффективной.Есть ли решение для этого?
<div class="block side">
<div class="block_head">
<div class="bheadl"></div>
<div class="bheadr"></div>
<h2><%= yield :block_head %></h2>
</div>
<div class="block_content">
<%= yield :block_content %>
</div>
<div class="bendl"></div>
<div class="bendr"></div>
</div>
, и я использую следующий код для установки содержимого для блока
<%= overwrite_content_for :block_head do -%>
My Block
<% end -%>
<%= overwrite_content_for :block_content do -%>
<p>My Block Content</p>
<% end -%>
<%= render :file => "shared/_blockside" %>
Проблема заключается в том, если я использую это несколько раз на одном и том жемакет содержимого из исходного блока добавляется к дополнительному блоку
Я попытался создать собственный вспомогательный метод, чтобы обойти его, однако он не возвращает никакого содержимого
def overwrite_content_for(name, content = nil, &block)
@_content_for[name] = ""
content_for(name, content &block)
end
Я могуЯ также хотел бы знать, что, если это не так, то, если есть какие-то более эффективные способы заставить контент работать так, как я.Спасибо.