Temat może nie być zbyt precyzyjny ale nie wiedziałem jak zatytułować mój problem
@products = Product.includes(:likes)
@products.sort! { |a,b| b.likes.size.to_i <=> a.likes.size.to_i }
Mam taki kod. Tabela Like posiada dwa pola (product_id i user_id), asocjacji możecie się łatwo domyślić
Tym powyższym kodem pobieram całą listę produktów i sortuję po ilości „lajków”. Teraz pytanie:
Czy i jak można to zrobić prościej/wydajniej i jak zaprzęgnąć do całości paginację (kaminari)?
Oczywiście, jak teraz do @products = … dodaję limit() czy page() to nie działa jak powinno… Jak to obejść (może być rozwiązanie z użyciem czystego SQL ale wolałbym tego uniknąć dla jaśniejszego kodu).