У меня есть награды и категории, объединенные с Awards_Categories
У меня есть 2 категории.
Мне нужно найти все награды, которые имеют Category.id = 1, но не Category.id =2.Некоторые категории имеют одну или другую, некоторые имеют только одну.Мне нужен список наград, которые имеют категорию 1, но не категорию 2.
У меня есть область действия:
scope :in_categories, lambda { |categories|
joins(:categories).
where(:awards_categories => { :category_id => categories } ).
select("DISTINCT awards.*")
}
И это работает с запросом, подобным:
@awardsall = Award.in_categories([1 && 2]).order("name ASC")
Я пробовал
@awards_store = Award.in_categories([1]).order("name ASC")
С:
<% @awards_store.each do |store| %>
<li><%= link_to store.name, award_path(store), :title => store.info %> |
<% store.categories.each do |cat| %>
<%= cat.id%>
<% end %>
</li>
<% end %>
РЕДАКТИРОВАТЬ --- Я знаю, что блок не то, что мне нужно.это просто моя попытка найти способ заставить его работать.
И хотя в нем перечислены все награды и все категории наград, это все еще захватывающие награды, которые имеют category.id = 2, потому что некоторые награды имеют обе
есть идеи?