Чтобы избежать необходимости перезаписывать ваш метод rating
(вы можете захотеть, чтобы он возвращал nil
, если нет отзывов), вы можете использовать следующее:
Location.all.sort_by { |l| l.rating || 0 }
Это разрешит любое местоположениебез рейтинга для возврата к значению по умолчанию 0
в порядке только , если у него нет рейтинга.
Тогда, например, вы все еще можете различать местоположения с помощью подлинного обзора0
и те, у кого нет отзывов.
Если вас беспокоят подлинные оценки 0
, противоречащие тем, у которых нет отзывов, вы можете установить значение по умолчанию ниже, то есть -1
.
Например, у вас может быть где-то, что вы хотите отобразить оценки за обзор следующим образом:
= @location.rating || "Location has no reviews"