这是在html.erb文件鸿沟循环迭代提高性能
<div class="list_carousel">
<ul id="products-carousel" class="carousel">
<% @posts.select{ |post| post.categories.include?(@categories.find_by_name("Productos")) }.each do |post|%>
[...]
<% end %>
</ul>
</div>
[...]
<div class="modals">
<% @posts.select{ |post| post.categories.include?(@categories.find_by_name("Productos")) }.each do |post|%>
[...]
<% end %>
</div>
我的部分代码这里的问题是,我使用的几个数据库查询执行这个循环,我想重新使用这个文件的其他部分的第一个循环,以提高性能。
例如我想做一些像每个做| post |在第一节中做一些事情,在第二节中不要做任何事情,并在第三节中继续。这样我就可以重新使用我正在迭代的选定postd的实例。
你想要做的第一件事是移动该查询到控制器。该视图适用于模板代码,不适用于查询。 – zwippie 2014-09-24 14:26:39