我有一个显示事件列表的模板
<tbody>
<%= render partial: 'event', collection: events, cached: true %>
</tbody>
部分event
:
<% cache event do %>
<tr>
<td>
Something
</td>
<td>
<%= render 'identifiable_link_with_tag', identifiable: event.identifiable %>
</td>
</tr>
<% end %>
部分identifiable_link_with_tag
:
<% cache identifiable do %>
<span class="badge badge-info"><%= identifiable.type %></span> <%= link_to identifiable.identifier, identifiable %>
<% end %>
现在,奇怪的是接下来的事情。有时我在事件视图中注意到,对于某些事件,identifiable
会呈现另一个部分 () 而不是identifiable_link_with_tag
: _identifiable
。这看起来很奇怪,在列出 25 个事件的页面上,这只会发生在 1 个或 2 个或 3 个(或 0 个)事件上。
所以简而言之,似乎有时会呈现错误的可识别性。我确实使用 Rails 片段缓存,所以这可能是一个因素。我错过了什么还是遇到了 Rails 错误?这个问题在开发中很难重现,因此很难调试。