В моем приложении у меня есть модель продукта, в которой есть отзывы об ошибках.Rails - как сортировать по ассоциированному атрибуту
В моем контроллере я хотел бы заказать массив продуктов по количеству отзывов.
Контроллер модели
@search = Product.search_attributes(params[:search])
@products = @search.sort_by_reviews_count
продукта:
def self.sort_by_reviews_count
self.sort! { |x,y| x.reviews.count <=> y.reviews.count }
end
Однако, я получаю следующее сообщение об ошибке:
undefined method `sort!' for #<Class:0x007ff019ebf468>
Почему это происходит?
Это работает, если вы преобразовать его в массив первой? 'All.sort!'? –