У меня есть модель пользователя. С каждым пользователем связаны названия ресторанов. У меня есть представление (index.html.erb), которое показывает всех пользователей.
Я хочу упорядочить пользователей в этом представлении, основываясь на том, сколько ресторанов current_user и некоторых других пользователей имеют общее в порядке убывания ... (это наоборот!)
отл.
Пользователь1 (current_user) был в Макдональдсе, Бургер Кинге, Арби
Пользователь2 был у Ивара
Пользователь 3 был в Макдональдсе, Бургер Кинг
Когда Пользователь1 загружает представление индекса, порядок отображения пользователей должен быть следующим:
Пользователь1 (соответствует 3/3 ресторана)
Пользователь3 (2/3 совпадения ресторанов)
Пользователь2 (0/3 совпадения ресторанов)
мой файл User.rb
def compare_restaurants
self.restaurants.collect
end
my users_controller.rb
def index
@users = User.all.sort_by {|el| (el.compare_resturants & current_user.compare_resturants).length }
end