我正在尝试在整个应用程序中为各种集合重用卡片布局。我希望我可以使用 content_for 和 yield 来做到这一点,如渲染指南中所述,我的确切用例在此处描述。但我无法从插入布局的部分中获取内容。这是渲染“实体”集合的设置:
视图(index.html.erb):
<%= render partial: 'entity', collection: @entities, layout: 'card' %>
部分(_entity.html.erb):
<% content_for(:left_icon) do %>
<i class="fas fa-city fa-2x"></i>
<% end %>
卡片布局 (_card.html.erb) 使用 yield 来检索特定于集合的内容(就像这个片段中的某个左图标)
<div class="card">
<div class="card-body d-flex">
<%= yield :left_icon %>
</div>
</div>
但是在图标应该出现的地方只呈现了一个空行:
<div class="card">
<div class="card-body d-flex">
</div>
</div>
我需要做什么才能呈现带有内容的卡片?