【发布时间】:2012-06-05 00:23:54
【问题描述】:
目前我正在使用:
<% @items.each do |item| %>
<li class="list-item">
<%= render :partial => '/widgets/vertical_widget',
:object => item %>
</li>
<% end %>
在一个页面上呈现大约 20 个项目(同一页面上还有另外 20 个不同的小部件)。
当我查看我的服务器日志时,它显示每个小部件呈现约 400 毫秒,页面总计约 20k 毫秒。从我读过的内容来看,使用 :colletion 而不是使用 :object 的循环应该有助于改善这些时间,但是我不确定如果我使用 :collection,如何将小部件的每个实例包装在 LI 中。从来没有将网站上使用的小部件放在列表中,因此在小部件代码中包含 LI 是没有意义的。
我可以将小部件代码直接包含在循环中而不是部分中,但是我不想在多个地方进行代码更新。
任何其他提高性能的想法都将不胜感激!
【问题讨论】:
标签: ruby-on-rails