目前我使用:渲染:收集包装每个项目?
<% @items.each do |item| %>
<li class="list-item">
<%= render :partial => '/widgets/vertical_widget',
:object => item %>
</li>
<% end %>
呈现在页面上大约20个项目(有也是同一页面上的其他部件的另外20)。
当我查看我的服务器日志时,它显示每个窗口小部件呈现大约400毫秒,总计大约为20k毫秒的页面。从我读过的使用:colletion而不是循环with:object应该有助于改进这些时间,但是我不确定如果我使用:collection,如何将小部件的每个实例包装在LI中。从来没有放置在网站上使用的小部件是在列表中,因此将小部件代码包含在LI中是没有意义的。
我可以将小部件代码直接包含在循环中而不是部分中,但是我不想在多个地方进行代码更新。
任何其他想法,以提高性能将不胜感激!
我曾经希望得到局部以外的东西,但我认为这仍然可以解决我的问题。下班回家时我会试一试! – 2011-06-01 20:27:18
那么,你可以*使用间隔模板(':spacer =>'some_spacer_template_file'')来渲染“open”标签(模板应该是'
您的代码运行良好,不幸的是我的缓慢问题依然存在。不管怎么说,还是要谢谢你! – 2011-06-02 04:17:12