В настоящее время я использую:
<% @items.each do |item| %>
<li class="list-item">
<%= render :partial => '/widgets/vertical_widget',
:object => item %>
</li>
<% end %>
для отображения около 20 элементов на странице (есть также еще 20 различных виджетов на той же странице).
Когда я просматриваю логи моего сервера, он показывает ~ 400 мс на визуализацию виджета, что в сумме составляет ~ 20 000 мс для страницы. Из того, что я прочитал, используя: Collection вместо цикла с: object должно помочь улучшить эти времена, однако я не уверен, как я могу обернуть каждый экземпляр виджета в LI, если я использую: collection. Никогда не размещать виджет, используемый на сайте, находится в списке, поэтому нет смысла включать LI в код виджета.
Я мог бы включать код виджета непосредственно в цикл, а не в часть, однако я не хочу делать обновления кода в нескольких местах.
Буду признателен за любые другие идеи по улучшению производительности!