我有一个显示事件列表的模板
<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错误吗?这个问题很难在开发中重现,因此难以调试。