Я использую плагин acts_as_category для управления логикой категорий. Почти на каждой странице сайта отображается дерево категорий и подкатегорий:
<div id="categories_">
<% Category.roots.each do |category| %>
<h3><%= category.name %></h3>
<div>
<ul class="subcat">
<% category.children.each do |subcategory| %>
<li><%= link_to subcategory.name, "/category/#{subcategory.to_param}" %></li>
<% end %>
</ul>
</div>
<% end %>
</div>
Он генерирует множество SQL-запросов, показанных в файле журнала, есть ли способ извлечь несколько строк в одном запросе ?
EDIT:
Я попытался переписать область действия корней в модели категории с теми же результатами:
named_scope :roots,
:conditions => ["((hidden IS NULL OR hidden = 0) AND (parent_id IS NULL))"],
:include => :children
EDIT:
Кажется, что проблема с плагином, и автор объяснил здесь (http://goo.gl/MwRSJ), почему его нельзя изменить. Любые другие предложения для управления моими категориями ?. Я использовал act_as_tree но это кажется немного устаревшим. Спасибо!.