Это делает всю работу на сервере базы данных.В результате получается простой массив.
<% Product.distinct(:category).pluck(:category).each do |category|
<%= category %>
<% end %>
Rails генерирует SQL, который работает с любой базой данных (Postgres, MySQL и т. Д.).
SELECT DISTINCT "products"."category" FROM "products"