Я забираю определенный набор комнат из своей базы данных. В номере есть комната. Я извлекаю только номера, принадлежащие гостинице, которая близка (20 км) к запрашиваемой зоне, я также проверяю, имеет ли комната подходящую емкость. Это дает мне определенный набор номеров (иногда много комнат для каждого отеля). Id нравится отображать только одну комнату, которая соответствует критериям для каждого отеля: одна с самыми дешевыми room_price
. Как я могу это сделать ?Только визуальные номера с самой дешевой ценой для каждого отеля
Вот как мой метод выглядит так далеко
def find_hotels
# hotels near query
@hotels = Hotel.near(params[:place], 20)
number_of_people = params[:adults_number].to_i + params[:children_number].to_i
# rooms with the right capaciy
# rooms with the best price
@rooms = Room.where(hotel_id: @hotels.map(&:id)).where("capacity >= :number_of_people", {number_of_people: number_of_people})
end
это только дает вам самый дешевый _room всего не самый дешевый номер для каждой гостиницы ... –
@DavidGeismar К сожалению, неправильно ваш вопрос , Я обновил свой ответ. –
find_by возвращает один экземпляр, но в остальном он хорошо работает, спасибо –