У меня есть модель, которая хранит нижнее и верхнее предельное значение в каждой записи. Значения не перекрываются.Rails-запрос, номер диапазона которого имеет значение
Учитывая число, как я могу запросить записи, чтобы увидеть, какая запись содержит диапазон, в который входит число?
Я думаю, что я мог бы сделать что-то вроде ниже, но мне интересно, есть уборщик и более эффективный ответ
@records.each do |r|
if number.between?(r.lower_value, r.upper_value)
desired_record = r.id
break
end
end
Спасибо для смотреть.
Вы можете написать Arel или SQL в ваших ActiveRecord искатели. Что-то вроде @ records.each {| record | record.where ('lower_value IS? AND upper_value IS?', number, number) .first} – JamesDullaghan