Я работаю над RoR WebApp. Я пытаюсь сгруппировать результаты на странице поиска, основываясь на их таксономии. Я хочу показать заголовок для категории и перечислить все результаты в этой категории. Что-то вроде:Ruby on Rails: группировка результатов поиска по категориям
CAT 1
продукты
CAT2
продукты
cat3
.
.
Я пытаюсь, используя следующий код:
<% if products.any? %> #products is the list of search results
<%= render :partial=> 'product_listing_feature', :locals => {:scope => scope, :scope_type => scope_type} %>
<div id="ql_product"></div>
<div class="product_rows">
<%taxons.each do |taxon|%> # taxons contains the list of unique categories in products
<div class = "product_row">
<h1><%=taxon%></h1>
<% taxonProducts = Array.new %>
<% products.each do |product| %>
<%@ptaxon = product.get_taxonomy%>
<%if @ptaxon == taxon%>
<% taxonProducts.push(product) %>
<% end %>
<% end %>
<div class ="featured_product_list">
<ul class = "featured_products">
<div class = "page">
<%= render :partial=> 'product_listing', :locals=>{:collection=> taxonProducts} %>
</div>
</ul>
</div>
</div>
<% end %>
</div>
<% end %>
Неожиданно начинается 2-й категории с новой строки, но следующие категории появились перемешалось, что-то вроде
Cat1
продукции
CAT2
pr oducts cat3
продукты
картина даст лучшее представление.
Я действительно удивлен, почему он работает только для одной итерации. Может кто-то, пожалуйста, помогите мне исправить это. Большое спасибо
Я согласен, что код грязный. Но группировка - это не проблема. Я могу группировать продукты, то есть продукты появляются под правильной таксономией. Но формат страницы поиска неверен. Необходимо начинать каждую категорию с новой строки, которая в настоящее время происходит только для 2-й категории – nish